我試圖創建具有2個屬性的自定義對象「InventorAttribue」的集合(列表<>或IEnumerable <>;名稱和價值。如何創建具有通用值類型參數的類型的集合
「值」屬性可以是各種類型的,所以我認爲編碼該對象像這樣的:
public class InventorAttribute<T> {
public InventorAttribute (string name, T value) {
Name = name;
Value = value;
}
public string Name { get; set; }
public T Value { get; set; }
}
另外我打算使用「AttiributeSet」類來表示最終的Autodesk Inventor AttributeSet中是存儲在Inventor的對象中。這裏是類並在我的問題表示,因爲當然,這個代碼不作爲類型「T」的工作無法找到
public class AttributeSet
{
public AttributeSet(string category, string name {
Name = name;
Attributes = new List<InventorAttribute<T>>();
}
public string Category { get; set; }
public string Name { get; set; }
public List<InventorAttribute<T>> Attributes { get; set; }
public void AddAttribute(string name, T value){
Attributes.Add(new InventorAttribute<T>(name,value));
}
}
問題(!):
如何管理寫此代碼,並且只能在運行時通過「AddAttribute」方法傳遞「InventorAttribute.Value」類型。
在此先感謝非常感謝幫助。
嗨,夥伴們,謝謝你的快速解答。 有效地,我有點想用某種繼承(Interface也許)。 最後,我用「對象」作爲「值」屬性類型。目前,性能實際上不是問題,現在... –