1
我: - 接口:IMyType - 一些類實現它:MyType1,MyType2,MyType3定義一個特定類型的列表(不是對象)
我如何定義類型IMyType的名單?
var myList = new List<Type> {typeof (MyType1), typeof (MyType2)};
上面所列內容並不強制類型是IMyType類型,我可以添加任何類型的列表
我: - 接口:IMyType - 一些類實現它:MyType1,MyType2,MyType3定義一個特定類型的列表(不是對象)
我如何定義類型IMyType的名單?
var myList = new List<Type> {typeof (MyType1), typeof (MyType2)};
上面所列內容並不強制類型是IMyType類型,我可以添加任何類型的列表
class Program
{
static void Main(string[] args)
{
IList<IMyType> lst = new List<IMyType>();
lst.Add(new MyType1());
lst.Add(new MyType2());
lst.Add(new MyType3());
foreach (var lstItem in lst)
{
Console.WriteLine(lstItem.GetType());
}
}
}
public interface IMyType { }
public class MyType1 : IMyType { }
public class MyType2 : IMyType { }
public class MyType3 : IMyType { }
如果你想確定什麼是實現類,你可以使用obj.GetType()或操作obj是MyType1
只需
List<IMyType> list = new List<IMyType>();
會做的伎倆,你不需要任何花式東西
感謝的Peter.Actually我想要的類型的列表,而不是一個 – Mehrdad
您必須自定義您的列表,並捕獲異常該類型的對象的列表** *添加*方法和**索引**屬性。因爲您確定C#中的每個類型都繼承了Type base –