私のデモコードは以下の通りです:
class Base
{
}
class SubA:Base
{
private int propertyA;
public int PropertyA
{
get{return propertyA}
}
}
class SubB:Base
{
private string propertyB;
public string PropertyB
{
get{return propertyB}
}
}
class Program
{
public void Action(Base obj)
{
//here i wanna use PropertyB if the ture obj is an instance of SubB.
// use PropertyA if the true obj is an instance of SubA
}
}
関数 " Action
" に転送する真のオブジェクトは、SubB または SubA のインスタンスです。" " 内の( PropertyB
if SubB
) またはPropertyA
(if ) にアクセスしたい。いくつかの基本的な OO ルールに違反していますか? このような状況に対処する最善の方法は何ですか (C# キーワードを使用したり、転送した obj をテストしたりしたくありません) 。私は今完全に混乱しています。アドバイスやヘルプをいただければ幸いです。SubA
Action
As
Is