如何訪問通用方法內的對象的屬性?
我無法使用where T: A
,因爲此方法將接收不同的對象,但所有對象都有一個共同的屬性可供使用。
(我也不能讓他們一個共同的接口)在通用方法中訪問對象的屬性
public class A
{
public int Number {get;set;}
}
List<A> listA = new List<A>{
new A {Number =4},
new A {Number =1},
new A {Number =5}
};
Work<A>(listA);
public static void Work<T>(List<T> list1)
{
foreach(T item in list1)
{
do something with item.Number;
}
}
更新:我也需要設置屬性
爲什麼你不能創建一個接口?聽起來像是一個設計問題。 – Philipp 2011-01-23 08:01:49
試試看這裏http://stackoverflow.com/questions/4292740/get-property-from-a-generic-object-in-c – 2011-01-23 08:02:23
一個接口應該是答案,否則你應該在你的foreach中測試這個類。 – 2011-01-23 08:07:22