【发布时间】:2013-03-04 08:38:44
【问题描述】:
我正在使用 CodeDOM 编译一个 *.cs 文件,该文件基于从 SQL 服务器检索的数据表。因此,编译后的代码应该是特定表的实体类。我设法将该类编译为公共、内部或接口类。
例如。
public class SomeThing(){}
或
internal class Something(){}
但问题是没有属性可以使用 CodeDOM 将类设为私有。有什么方法可以完成工作吗?
我将此代码用作我的模板http://msdn.microsoft.com/en-us/library/ms404245(v=vs.100).aspx
【问题讨论】:
-
如果你使用
TypeAttributes.NestedPrivate会发生什么?请注意,私有类必须是嵌套类。 -
除非你想像 Jon 所说的那样创建一个嵌套类,否则你希望谁能够看到这个
private类?它与internal有何不同? -
TypeAttributes.NestedPrivate 完成了这项工作。谢谢。
-
@Zdeslav 内部类对其所在的程序集是可见的。但私人不是。它是完全封装的。我对吗? MSDN 声明“内部类型或成员只能在同一程序集中的文件中访问”
-
没有私有顶级类这样的东西。它只对自己可见,这是没有意义的,因为没有其他类可以使用它。这就是为什么提到“除非......嵌套类”。