我正在使用CodeDOM根据数据表检索表单SQL Server编译* .cs文件。因此,编译后的代码应该是特定表的实体类。我设法将类编译为公共类,内部类或接口类。
实施例。
public class SomeThing(){}
或
internal class Something(){}
但问题是没有使用CodeDOM使类成为私有的属性。有没有办法完成这项工作?
我将此代码用作模板http://msdn.microsoft.com/en-us/library/ms404245(v=vs.100).aspx
答案 0 :(得分:1)
顶级私有类没有多大意义,因为它们对其他类型是不可见的。允许嵌套类是私有的。
以下是C#语言规范的摘录:
3.5.2辅助功能域
顶级未绑定类型T(§4.4.3)的可访问性域 在程序中声明P的定义如下:
- 如果T的声明可访问性是公开的,则T的可访问域是P的程序文本和任何引用的程序
- P上。如果T的已声明可访问性是内部的,则T的可访问域是P的程序文本。
从这些定义可以看出,a的可访问性域 顶级未绑定类型始终至少是该程序的文本 声明该类型的程序。 a的可访问性域 构造类型T是交叉点 未绑定泛型类型T的可访问域和 参数类型A1,...,AN的可访问性域。
在类型T中声明的嵌套成员M的可访问性域 在程序P中定义如下(注意M本身可以 可能是一种类型):
- 如果M的声明可访问性是公开的,则M的可访问域是T的可访问域。
- 如果M的声明可访问性在内部受到保护,则让D为P的程序文本和任何类型的程序文本的并集 派生自T,在P外宣布。可访问域 M是T的可访问域与D的交集。
- 如果M的声明可访问性受到保护,则让D为T的程序文本与从中派生的任何类型的程序文本的并集。 T.M的可访问域是其中的交集 T的可访问性域与D。
- 如果M的声明可访问性是内部的,则M的可访问性域是T的可访问性域的交集。 P。
的程序文本- 如果M的声明可访问性是私有的,则M的可访问域是T的程序文本。
答案 1 :(得分:0)
TypeAttributes NotPublic?