一般的な(任意の型の)モデル/クラスをメソッドに渡したいと思います。それを渡す方法?汎用オブジェクトをメソッドに渡す
if(NewUser)
MethodA(User);
else
MethodA(UserReg);
私はいくつかのより多くのコードを追加してみましょう:
private void SetRegionDummy<T>(T obj)
{
foreach (var lookup in obj)
{
// but obj.(obj dot) does not give properties of PcvCompleteViewModel
}
}
//Call this method
SetRegionDummy(this.PcvCompleteViewModel);
[Serializable]
public class PcvCompleteViewModel : StepViewModelBase
{
#region Constructor
#endregion
#region Properties
public List<ChargeVolume> ChargeVolumes { get; set; }
public List<LookUpViewModel> LookUp { get; set; }
public List<ProductViewModel> Products { get; set; }
public List<ProductViewModel> PricingProducts { get; set; }
public List<RegionViewModel> Regions { get; set; }
public decimal ContractYears { get; set; }
public decimal? PropGrowthRate { get; set; }
public decimal? GnicsGrowthRate { get; set; }
}
方法は同じですが、異なるオブジェクトモデルを渡す方法?
必要がありません:あなたは、単にパラメータとして、このインターフェイスを使用する方法を作成することができ
:共通のインターフェースで
:宣言されている。この方法は、あなたのクラスを想定すると、ここに。メソッドのオーバーロードを使用できます。同じ名前で異なるパラメータを持つ2つのメソッド。 –
同じコードで2つのメソッドを作成する必要はありません。 – user662285
'User'と' UserReg'は共通のインターフェースや基本クラスを共有しますか?そうでなければ、ここではジェネリックスの恩恵を受けません。 – Jonesopolis