gpt4 book ai didi

c# - 使用反射设置 Int32 的值

转载 作者:太空狗 更新时间:2023-10-29 22:25:05 24 4
gpt4 key购买 nike

我想使用反射根据文件中的数据设置一些字段。我可以拥有的信息是 TypeName、TypeValue 和 FieldName。

虽然这在类(Activator.CreateInstance 和 PropertyInfo.SetValue)上是微不足道的,但当涉及到像 Int32 这样没有任何属性的值类型时,我有点目瞪口呆。我看到 IsValueType 在这些类型上是正确的,但由于我的 TypeValue 是一个字符串(即字符串 TypeValue = "400"),我不知道如何分配它。

我是否必须使用 GetMethods() 来检查是否有 .Parse 方法?这是 TypeConverter 的东西吗?

我知道我可以硬编码一些常见的值类型(反正没有那么多)并且有一个很大的 switch() 语句,但我想知道是否有什么东西可以自动执行“将字符串转换为 T”转换?

最佳答案

// get the type converters we need
TypeConverter myConverter = TypeDescriptor.GetConverter(typeof(int));

// get the degrees, minutes and seconds value
int Degrees = (int)myConverter.ConvertFromString(strVal);

这应该有帮助

关于c# - 使用反射设置 Int32 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1265147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com