我有一个看起来像这样的课:
public class Field
{
public string FieldName;
public string FieldType;
}
Run Code Online (Sandbox Code Playgroud)
并且List<Field>具有值的对象:
{"EmployeeID","int"},
{"EmployeeName","String"},
{"Designation","String"}
Run Code Online (Sandbox Code Playgroud)
我想创建一个如下所示的类:
Class DynamicClass
{
int EmployeeID,
String EmployeeName,
String Designation
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我希望在运行时生成它.我不希望物理CS文件驻留在我的文件系统中.
我正在寻找一种方法来修改dynamicC#4.0对象上的属性,其属性名称仅在运行时已知.
有没有办法做某些事情(ExpandoObject仅用作示例,这可能是任何实现的类IDynamicMetaObjectProvider):
string key = "TestKey";
dynamic e = new ExpandoObject();
e[key] = "value";
Run Code Online (Sandbox Code Playgroud)
这相当于:
dynamic e = new ExpandoObject();
e.TestKey = "value";
Run Code Online (Sandbox Code Playgroud)
或者是前进反思的唯一途径?
我正在尝试将字典转换为匿名类型,每个键都有一个属性.
我尝试谷歌它,但我能找到的是如何将匿名对象转换为字典.
我的字典看起来像这样:
var dict = new Dictionary<string, string>
{
{"Id", "1"},
{"Title", "My title"},
{"Description", "Blah blah blah"},
};
Run Code Online (Sandbox Code Playgroud)
我想返回一个看起来像这样的匿名对象.
var o = new
{
Id = "1",
Title = "My title",
Description = "Blah blah blah"
};
Run Code Online (Sandbox Code Playgroud)
所以我希望它循环遍历字典中的每个keyValuePair并在对象中为每个键创建一个属性.
我不知道从哪里开始.
请帮忙.
我正在研究.NET中的反序列化类,我必须开发一个方法,它为我提供了一个存储在字符串中的变量名.
我有一个字符串,如:
string string_name = "this_is_going_to_be_var_name";
Run Code Online (Sandbox Code Playgroud)
现在我该怎么做才能让我的代码动态声明一个名为this_is_going_to_be_var_name的变量?
因此要清理:将有一个反序列化类,它将根据高级程序员/用户的意愿,声明与作为输入提供的字符串相同的变量及其PARENT TYPES.
例如:在javascript/jQuery中,当我通过发出请求来获取JSON时,解释器声明具有相同名称的变量/数组并为它们赋值.如果{"var_name":"var_value"}是一个JSON字符串,则解释器将创建一个名为var_name的变量,并为其分配"var_value",例如json_data_object.var_name.