我有两个派生类(Sale 和 ServiceCharge)。两者都是交易。如果我有一个 BusinessService,我想为它创建一个 ServiceCharge。如果我传递一个产品,我想实例化销售。
这是我的想法。
private void CreateInstance(object element)
{
Transaction transaction;
if (element.GetType() == typeof(BussinessService))
{
transaction = new ServiceCharge((BussinessService)element))
}
else
{
transaction = new Sale((Product)element);
}
{
你能告诉我一个更优雅的方式吗?我会知道如何使用只有一个构造函数的泛型
private void CreateInstance<T>(T element)
{
Transaction transaction = new Transaction((T)element);
}
但我不知道如何解决第一个案例。