我想動態地創建一個類,並動態地向該類添加屬性 ,之後我想創建該類的對象和該類的泛型列表,並訪問它像這樣: 動態類的創建和訪問類屬性c#
0
A
回答
-1
您可以創建類的一個列表:
List<ClassA> list = new List<ClassA>();
和你創建該類的對象,具有添加到列表:
list.Add(dynamic);
+0
我不想將動態對象添加到_ClassA_ I要動態創建_ClassA_並創建該類的列表,並將該類的對象添加到列表中並訪問該類的屬性,如上圖中所示。 – Abhay
-1
如果你只是想在一個未定義格式的數據,你可以使用字典
例:
字典<字符串,對象> PARAM =新詞典<字符串對象>();
param.Add(「msg」,「hello」);
param.Add(「number」,1234);
後來可能是訪問爲:
PARAM [ 「消息」]作爲字符串
PARAM [ 「數量」]作爲INT
1
微軟發佈了一個庫,用於創建動態LINQ查詢。有一個ClassFactory可以用來在運行時創建類。
下面是一個例子:
class Program
{
static void SetPropertyValue(object instance, string name, object value)
{
// this is just for example, it would be wise to cache the PropertyInfo's
instance.GetType().GetProperty(name)?.SetValue(instance, value);
}
static void Main(string[] args)
{
// create an enumerable which defines the properties
var properties = new[]
{
new DynamicProperty("Name", typeof(string)),
new DynamicProperty("Age", typeof(int)),
};
// create the class type
var myClassType = ClassFactory.Instance.GetDynamicClass(properties);
// define a List<YourClass> type.
var myListType = typeof(List<>).MakeGenericType(myClassType);
// create an instance of the list
var myList = (IList)Activator.CreateInstance(myListType);
// create an instance of an item
var first = Activator.CreateInstance(myClassType);
// use the method above to fill the properties
SetPropertyValue(first, "Name", "John");
SetPropertyValue(first, "Age", 24);
// add it to the list
myList.Add(first);
var second = Activator.CreateInstance(myClassType);
SetPropertyValue(second, "Name", "Peter");
SetPropertyValue(second, "Age", 38);
myList.Add(second);
}
}
您可以在這裏下載:DynamicLibrary.cs
相關問題
- 1. 訪問父類動態創建屬性
- 2. 訪問動態創建的子類的屬性(強類型)
- 3. C++:動態訪問類屬性
- 4. 創建類的屬性動態/編程
- 5. as3 - 動態訪問類屬性
- 6. 蟒蛇動態創建屬性類
- 7. 動態創建類屬性與attr_accessor
- 8. C#動態類屬性問題
- 9. 動態訪問類及其在C#中的屬性
- 10. 訪問泛型類的靜態屬性?
- 11. 訪問類屬性
- 12. 訪問類屬性
- 13. 訪問類屬性
- 14. 動態創建C#類
- 15. 創建動態屬性,在模型類屬性 - Yii框架
- 16. C#:Reflection:子類的訪問屬性
- 17. C#類庫,訪問對象的屬性
- 18. 訪問C++子類的屬性/功能
- 19. c#類屬性的泛型訪問
- 20. 如何在Python中動態編寫和訪問類屬性?
- 21. 創建和訪問類對象的動態數組
- 22. 如何基於類中屬性的類型動態創建C#通用字典?
- 23. C#創建類的屬性中列表
- 24. 動態更改C++中類的屬性
- 25. 具有動態屬性的C#類
- 26. 訪問單例類屬性在C#
- 27. 訪問動態創建的對象C++
- 28. 爲靜態UITableViewCell子類創建屬性
- 29. 如何使用jQuery訪問動態創建的div的屬性
- 30. 如何訪問動態創建的用戶控件的屬性?
什麼你試過嗎?在運行時創建類時,無法在設計器中看到這些屬性。除非你已經實現了一個接口。 –
您是否考慮過查看匿名類型? https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/anonymous-types – Droxx
您是否試圖在C#中使用mixin功能?不幸的是C3不支持mixin。 https://en.wikipedia.org/wiki/Mixin –