相关疑难解决方法(0)

如何在C#中动态创建一个类?

我有一个看起来像这样的课:

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文件驻留在我的文件系统中.

.net c# reflection.emit dynamic-class-creation

204
推荐指数
10
解决办法
20万
查看次数

当您在另一个变量中具有名称时,如何设置C#4动态对象的属性

我正在寻找一种方法来修改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)

或者是前进反思的唯一途径?

.net c# reflection dynamic

43
推荐指数
4
解决办法
4万
查看次数

具有字典属性的C#匿名对象

我正在尝试将字典转换为匿名类型,每个键都有一个属性.

我尝试谷歌它,但我能找到的是如何将匿名对象转换为字典.

我的字典看起来像这样:

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并在对象中为每个键创建一个属性.

我不知道从哪里开始.

请帮忙.

c# dictionary object

24
推荐指数
2
解决办法
2万
查看次数

如何在C#中为类动态添加字段?

有没有办法在运行时添加Field(或者FieldInfo,可能是相同的)类?

c# reflection

23
推荐指数
3
解决办法
3万
查看次数

使用字符串.NET命名变量

我正在研究.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.

.net c# .net-4.0 deserialization

-4
推荐指数
1
解决办法
5708
查看次数