假設我們有兩個實現公共接口的類。從接口實例中提取數據類型信息
public interface IContract
{
int Type { get; }
}
public class XClass : IContract
{
public int Type { get; set; }
public int X { get; set; }
}
public class YClass : IContract
{
public int Type { get; set; }
public int Y { get; set; }
}
現在,如你所知,當我們指定一個類來實現的接口,該接口實例裏面含有盒裝分配類的所有數據。
IContract ic = new XClass();
應該有一種方法來檢測接口變量ic中值的數據類型。
如果(IC包含XClass數據類型)然後... 如果(IC包含YClass數據類型)然後...
我會很高興,如果有人能幫助我,以檢測分配給接口實例的數據類型。謝謝。
請注意,如果您需要進行此類檢查,則可能是您的接口/類的重構將有助於使代碼更清晰。聲明接口類型的變量表示您只需*該接口的方法和屬性。如果你需要根據實現類型進行專門化,最好向接口本身添加一個新方法,這些類可以按照他們認爲合適的方式實現。 – dlev
感謝dlev的提示 – Jahan