Pra*_*dda 43 .net c# anonymous-class c#-3.0
我们都知道,当我们创建一个这样的匿名类时:
var Employee = new { ID = 5, Name= "Prashant" };
Run Code Online (Sandbox Code Playgroud)
...在运行时它将是类型:
<>f__AnonymousType0<int,string>
Run Code Online (Sandbox Code Playgroud)
有没有办法为这些类指定有意义的名称?
Chr*_*ris 38
这是一种匿名类型,无法达到目的.这些对象被设计为临时的.地狱,这些属性甚至是只读的.
对不起,我是个聪明人.答案是否定的,没有办法告诉编译器匿名类型使用什么名称.
实际上,编译器生成的类型的名称在命名中使用非法字符,因此您的应用程序中不会发生名称冲突.
Nic*_*rdi 36
public class Employee {
public int ID { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后使用以下语法
var employee = new Employee { ID = 5, Name = "Prashant" };
Run Code Online (Sandbox Code Playgroud)
Dea*_*unt 24
把它变成一个有名字的普通班级?
public class Employee
{
public int ID;
public string Name;
}
var Employee = new Employee { ID = 5, Name= "Prashant" };
Run Code Online (Sandbox Code Playgroud)
Mia*_*rke 24
实际上,如果你不害怕获得极端的细节,你可以使用TypeBuilder根据你的匿名类型构建自己的运行时类型,这将允许你指定类型的名称.当然,在这个线程建议中几乎所有其他人都声明一个类要容易得多,但TypeBuilder方式更令人兴奋.;)
| 归档时间: |
|
| 查看次数: |
44422 次 |
| 最近记录: |