首先,我會嘗試在要檢查的對象中實現一些共同性。
例如,當Titi定義testA時,Toto是否有必要定義test1?如果託託和蒂蒂定義了test1,這是否可能?這樣,你將能夠創建和兩個通用接口:
public class Toto
{
private string test1 = "Hello from Toto object";
public string Test1 { get { return this.test1; } }
}
public class Titi
{
private string test1 = "Hello from Titi object";
public string Test1 { get { return this.test1; } }
}
現在,您可以定義一個通用的接口:
public interface ICheerfulObject
{
string Test1 { get; }
}
使雙方的類都實現像這樣這個接口:
public class Toto: ICheerfulObject
{
....
}
pulbic class Titi: ICheerfulObject
{
....
}
然後你就可以這樣做:
public void CheckData(ICheerfulObject o)
{
string data = o.Test1;
}
如果這種情況下是無效的,你真的需要使用反射嘗試以下操作:
public void CheckData(object o)
{
PropertyInfo property = o.GetType().GetProperty("Test1"); //Get used to using public properties.
string data = (string)property.GetValue(o, null);
}
請提供您的實際問題,這將使其更容易幫助你。 – 2011-06-01 15:53:31