用动态数据类型属性C#实现一个类

时间:2018-06-19 19:19:24

标签: c# json class variables types

我想实现一个属性为动态的类,但我似乎不知道该怎么做...

public class myClass
{
    public datetime timeStamp { get; set;  }
    public object variable { get; set; }
    public string name { get; set; }
}

例如,我需要读取一个存档,其中的“变量”类型为整数

这仅仅是一个json或我将使用的东西,clas的“ variable”属性(在此示例中)将是一个字符串,但是有时该属性应为整数(example2)

Ex1:

{"name" : "Variable1" , "variable" : "string" : "myString" , "timeStamp" : "852852852" }

Ex2:

{"name" : "Variable2" , "variable" : "int32" : "125125" , "timeStamp" : "852852852" }

1 个答案:

答案 0 :(得分:0)

您可以使OPC_UA成为通用类:

class OPC_UA<T>
{
    public DateTime TimeStamp { get; set; }
    public T Variable { get; set; }
    public string Name { get; set; }
}

然后您可以使用反射方法实例化类型:

Type type = Type.GetType("System.Int32");
Type genericizedType = typeof(OPC_UA<>).MakeGenericType(type);
dynamic opc_ua = Activator.CreateInstance(genericType);
opc_ua.Variable = 5;  // For example