如何使用反射创建值类型的实例

Hem*_*jak 9 .net c# reflection value-type

我想创造价值类型等的情况下System.String,System.Boolean,System.Int32等我得到这样的类型限定名System.String MyNamespace.Employee我必须创建一个实例,并返回.我使用Activator.CreateInstanceFormatterServices.GetUninitializedObject创建实例.但它在值类型的情况下失败了.在值类型的情况下,我不能硬编码逻辑.我需要一种创建值类型和引用类型实例的通用方法.

Mar*_*ell 11

你究竟想做什么?FormatterServices.GetUninitializedObject主要用于序列化代码; 除此之外你不应该真正使用它.这听起来像你可能只需要类似TypeConverter,即(这些类型)

TypeConverter tc = TypeDescriptor.GetConverter(someType);
object obj = tc.ConvertFromString(s);
Run Code Online (Sandbox Code Playgroud)