C#编译器抱怨包含new protected member declared in struct
的以下代码。有什么问题?
struct Foo {
protected Object _bar;
}
答案 0 :(得分:6)
答案 1 :(得分:2)
结构被隐式密封,因此您无法以任何方式创建后代,而protected modifier意味着只有此类型的实例和派生类型的所有实例都可以访问它。
答案 2 :(得分:1)
因为这是一个结构,所以不能覆盖它。似乎C#编译器希望像structs这样的密封类型使用'private'关键字而不是'protected'关键字,即使功能上没有任何区别。请改用:
struct Foo {
private Object _bar;
}