【问题标题】:how to dynamically create value type and assign value in .net如何在.net中动态创建值类型和赋值
【发布时间】:2011-12-05 05:25:49
【问题描述】:

我有:

  • 数据类型(所有类型都是值类型)为string(例如:'System.Boolean'
  • 数据值为string(例如:'true'

我必须得到:

  • 值类型的实例
  • 此实例应由该值初始化

我从

开始
object v = Activator.CreateInstance(System.Type.GetType('type as string', true, true),..);

我不知道如何将v 初始化为值:如何将动态 值作为字符串转换为bool(或其他值类型)并将其分配给v?

谢谢。

【问题讨论】:

    标签: reflection .net-3.5


    【解决方案1】:

    您是否尝试过使用Convert.ChangeType

    object v = Convert.ChangeType(text, Type.GetType(typeName));
    

    这仅适用于某些目标类型,但对您来说可能就足够了。

    编辑:最终,您需要一组要支持的类型。您可能想要某种Dictionary<Type, Func<string, object>> 和一种能够伪装您如何处理更一般情况(例如枚举)的方法。

    【讨论】:

    • @garik:我不知道——你试过吗? (测试应该需要很长时间。)最后,您是否有需要支持的类型列表?
    猜你喜欢
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 2013-12-28
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 2020-03-11
    相关资源
    最近更新 更多