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

标签 c# .net reflection value-type

我想创建一个值类型的实例,例如 System.StringSystem.BooleanSystem.Int32 等。我得到类型的限定名称,如 System.String MyNamespace.Employee,我必须创建一个实例并返回.我使用 Activator.CreateInstanceFormatterServices.GetUninitializedObject 来创建实例。但是在值类型的情况下它会失败。对于值类型,我不能硬编码逻辑。我需要一种通用的方法来创建值类型和引用类型的实例。

最佳答案

你到底想做什么? FormatterServices.GetUninitializedObject主要用于序列化代码;除此之外,您不应该真正使用它。 听起来您可能只需要TypeConverter之类的东西,即(对于这些类型)

TypeConverter tc = TypeDescriptor.GetConverter(someType);
object obj = tc.ConvertFromString(s);

关于c# - 如何使用反射创建值类型的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1997815/

相关文章:

c# - 检查两个对象的属性以进行更改

swift - 在Swift中获取类型的所有嵌套类型(作为元类型引用)

c# - 如何检查所有列表项是否具有相同的值并返回,如果不相同则返回 “otherValue”?

c# - 测试显示 "await"明显更慢,即使等待的对象已经完成

c# - 依次读取大量小文件

.net - Nuget:当前环境没有打开的解决方案

json - golang无法解析反射创建的对象的json

c# - C#/WPF 中禁用的复选框上的鼠标按钮事件

c# - 无法将类型 'char' 隐式转换为 'char[]'

c# - 自定义 Json Serializer 通过忽略类属性来序列化和反序列化所有属性