我可以动态创建一个属性类型和属性名称为(匿名)对象,如果名称和类型我从字符串变量?我可以为对象动态创建属性类型和属性名称吗?
2
A
回答
1
如果你正在谈论匿名类型(如var x = new { Property1 = data1, ...}
),那么我认为你可以。
你可能会做的是从你已经拥有的那个创建另一个新的匿名类型。要在其中创建X
Y
,你可以通过var Y = new { YProp1 = X.Prop1, YProp2 = X.Prop2, etc}
0
对于匿名类,没有。这些由编译器在编译时定义。
0
C#.NET是一种静态类型语言,意味着所有类都必须在编译时定义。所以,对你的问题的下意识回答是否。
但是,像大多数语言一样,您可以使用变通办法。例如,您可以创建一个具有Dictionary<string,object>
类型属性的类,该属性将您的属性名称作为键和属性值作为值。
当然,这个缺点是您需要编写额外的代码来验证字典中的数据是否有效......所以它可能不值得。
1
创建Y
在C#4.0起,可以使用动态关键字与DynamicObject对象基于字典创建/在运行时非常扩展性能像JavaScript。
相关问题
- 1. 使用.NET动态对象可以随时创建属性吗?
- 2. JSP EL:动态创建属性名称
- 3. 流类型对象中的动态属性名称
- 4. 如何使用动态属性名称创建对象
- 5. 我可以通过属性名称设置属性吗?
- 6. 转换对象的属性名称的属性和属性值
- 7. 创建从对象类型属性
- 8. 我可以使用OGNL动态创建对象并设置属性吗?
- 9. 动态更新/创建对象属性
- 10. 创建对象的动态属性
- 11. 我可以在C++中创建“属性”类型吗?
- 12. 我可以将属性动态应用于对象字段吗?
- 13. 我可以使用C#中的对象名称访问对象属性吗?
- 14. 对象的属性名称
- 15. 将XML名称值对动态转换为对象属性
- 16. 动态属性名称
- 17. 动态属性名称
- 18. 我可以在OWL中为特定的类创建数据类型属性吗?
- 19. 如何使用动态确定的属性名称创建匿名对象?
- 20. Flask-WTForms:动态创建名称和ID属性
- 21. 具有属性的对象,可以为同一属性不同类型
- 22. 我可以创建一个嵌套表作为属性的对象表吗?
- 23. PHP Kohana3。我可以重命名ORM对象属性吗?
- 24. 可以使用对象属性吗?
- 25. Javascript:属性/对象类型
- 26. Neo4j - Cypher - 建立对象属性是动态的,如类型(r)
- 27. 在NG-模型动态创建属性
- 28. 动态设置C#匿名类型的属性名称
- 29. Rails创建动态属性
- 30. 我们可以设置一个类的对象的属性吗?
您是否问您是否可以在运行时将新属性添加到匿名对象,或者如果您从字符串变量访问匿名类型的属性? – 2011-06-06 19:13:45