複雑な質問のビットは、私が逃した何かばかげている場合はお詫び申し上げます。私は多くのソリューションを試してきましたが、それを解決しましたが、顧客内の参照番号は.csvファイルで増分されません。これは参照番号は工場からインクリメントされませんか? - Singleton Loggerを使用して参照番号を参照することはできません
class ReferenceNoFactory
{
static private int lastbookingrefno = 0; // Last used booking reference number.
static private int lastcustomerrefno = 0; // Last used customer reference number.
static public ReferenceNo FactoryMethod(string type)
{
if (type == "Booking")
{
lastbookingrefno++; // Create new booking reference number.
return new Booking(lastbookingrefno);
}
else if (type == "Customer")
{
lastcustomerrefno++; // Create a new customer reference number.
return new Customer(lastcustomerrefno);
}
else
return null; // Default, only a booking or customer reference number can be created.
// Nothing else should be returned, or null.
}
}
これは参照番号をインクリメントすべきである工場で
abstract class ReferenceNo
{
static protected int _refNo;
static public int ReferenceNumber
{
get
{
return _refNo;
}
}
}
これは、工場で使用されるように保持された初期参照番号です...参照番号を取得し、ロガーインスタンスを使用して.csvファイルに保存するCustomerクラスの最初の部分...
class Customer : ReferenceNo
{
static private string FirstName;
static private string LastName;
static private string Address;
public Customer(int refNo)
{
ReferenceNo._refNo = refNo;
}
static public void LogFile()
{
ReferenceNoFactory.FactoryMethod("Customer");
CustomerLogger firstlogger = CustomerLogger.Instance;
firstlogger.log(Customer.ReferenceNumber, Customer.firstname, Customer.lastname, Customer.address);
}
そして、これはリファレンス番号が1のまま?...
このメソッドを2回使用するのは間違いありませんが、繰り返し使用するだけで増やす必要がありますか?これは休日の予約プログラムなので、データは同じ.csvファイルに格納され、参照のみがインクリメントされます...? –
@ Mia.B質問に使用例を追加して、意味を理解できますか? – openshac
申し訳ありませんええ、それはちょっと仕事、私は同じプログラムの実行時に2つの顧客を作成する場合は増分します。私はちょうどそれが理にかなっている場合、参照番号が既にファイルに入っているかどうかを確認するためにプログラムの検証をする必要があると思いますか? –