在 C# 中在运行时创建自定义对象

jan*_*dor 3 c# object custom-attributes

我想在运行时在 C# 中创建自定义对象,这些对象将具有从 xml 文件导入的属性。xml 文件如下所示:

<field name="FirstName" value="Joe" type="string" />
<field name="DateAdded" value="20090101" type="date" />
Run Code Online (Sandbox Code Playgroud)

我想在 c# 中创建对象,这些对象具有 FirstName 和 DateAdded 等属性,并且具有正确的属性类型。我怎样才能做到这一点?我尝试使用带有 if 语句的函数来根据“type”属性确定类型,但我也想即时评估类型。

谢谢。

Ree*_*sey 5

您可以通过CodeDOM或更轻松地使用dynamic和ExpandoObject来完成此操作。

但是,要意识到,如果事先不知道这些类型,就很难有效地使用它们。通常,做出一个Dictionary<TKey, TValue>或类似的选择是一个更容易的选择。