和感謝的任何援助C#設計模式:通用方法?
爲:
public abstract class EntityBase
{
protected void Create(EntityBase c)
{
Log.Audit(c);
}
}
public class Customer : EntityBase
{
public void CreateCustomer(Customer c)
{
Create(c);
}
}
}
public class Car : EntityBase
{
public void CreateCar(Car c)
{
Create(c);
}
}
}
對於上面的例子 1)你將如何實現對方法簽名: Log.Audit(C);
2)在審計(c)方法中,我們需要將c轉換爲適當的類型,並遍歷整個對象的屬性以進行審計。這將如何完成。我正在考慮類似......
public Audit(T t)
{
switch (t.GetType())
{
case Customer:
//Audit Customer
Audit(<Customer> t);
break;
case Car:
//Audit Car
Audit(<Car> t);
}
}
只是一個猜測,任何幫助將是偉大的。
注意:如果您可以想到更好的架構此方法的方法,請告訴我。
再次感謝。 Steven