如何使用CodeDOM创建私有类
本文关键字:创建 何使用 CodeDOM | 更新日期: 2023-09-27 18:02:08
我使用CodeDOM编译一个基于SQL server检索数据表的*.cs文件。因此,编译后的代码应该是特定表的实体类。我设法将类编译为公共类、内部类或接口类。
交货。
public class SomeThing(){}
或
internal class Something(){}
但是问题是没有属性可以使用CodeDOM使类私有。有什么办法能完成这项工作吗?
我使用这段代码作为模板http://msdn.microsoft.com/en-us/library/ms404245(v=vs.100).aspx
顶级私有类没有多大意义,因为它们对其他类型不可见。嵌套类可以是私有的。
这是c#语言规范的摘录:
3.5.2可访问域顶级未绑定类型T(§4.4.3)的可访问域在程序中声明P的定义如下:
- 如果T的可访问性声明为public,则T的可访问性域是P的程序文本以及引用
的任何程序。- P。如果声明的T的可访问性是内部的,则T的可访问域是p的程序文本。
从这些定义可以得出a类的程序文本始终至少是顶级未绑定类型声明该类型的程序。的可访问域构造类型T是的交点非绑定泛型类型T的可访问域和类型参数A1,…,AN的可访问域。
在类型T中声明的嵌套成员M的可访问域在一个程序中,P的定义如下(注意M本身可以可能是一个类型):
- 如果M的可访问性声明为public,则M的可访问域为t的可访问域。
- 如果M声明的可访问性是内部保护的,则设D为P的程序文本与任意类型的程序文本的并集派生自T,它在p之外声明M的可达域为T与d的交集
- 如果M声明的可访问性受到保护,则设D为T的程序文本与派生的任意类型的程序文本的并集T. M的可达域是T与d的可达性域
- 如果M声明的可访问性是内部的,则M的可访问性域是T的可访问性域与的交集P.
程序文本- 如果M声明的可访问性是私有的,则M的可访问域是t的程序文本。
和TypeAttributes NotPublic?