相关疑难解决方法(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#按字符串名称设置/获取类属性

我要做的是使用字符串在类中设置属性的值.例如,我的类具有以下属性:

myClass.Name
myClass.Address
myClass.PhoneNumber
myClass.FaxNumber
Run Code Online (Sandbox Code Playgroud)

所有字段都是字符串类型,所以我提前知道它总是一个字符串.现在我希望能够使用字符串设置属性,就像使用DataSet对象一样.像这样的东西:

myClass["Name"] = "John"
myClass["Address"] = "1112 River St., Boulder, CO"
Run Code Online (Sandbox Code Playgroud)

理想情况下,我只想分配一个变量,然后使用变量中的字符串名称设置属性

string propName = "Name"
myClass[propName] = "John"
Run Code Online (Sandbox Code Playgroud)

我正在阅读关于反思的内容,也许是这样做的方法,但我不确定如何设置它,同时在课堂上保持属性访问不变.我想仍然可以使用

myClass.Name = "John"
Run Code Online (Sandbox Code Playgroud)

任何代码示例都非常棒.

c# reflection properties

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

在运行时创建C#类

我一直很好奇在C#中动态创建类,并且偶然发现了这篇文章.http://olondono.blogspot.com/2008/02/creating-code-at-runtime.html 我很想知道在运行时构建类的一些优点和缺点.

任何意见?

.net c#

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

为什么.NET会为路径中已存在的斜杠添加额外的斜杠?

我注意到C#\为路径添加了额外的斜杠().考虑一下这条路C:\Test.当我在文本可视化器中检查带有此路径的字符串时,实际的字符串是C:\\Test.

为什么是这样?它让我感到困惑,因为有时我可能想要将路径分开(使用string.Split()),但不得不想知道使用哪个字符串(一个或两个斜杠).

c# debugging visual-studio

10
推荐指数
3
解决办法
9736
查看次数