我有以下界面:
public interface IAgable {
int Age { get; internal set; }
}
我希望 Age
属性对于引用此接口(interface)的外部程序集是只读,但我也希望 Age
属性要在接口(interface)的同一程序集上设置,因此要使用 internal
修饰符。
然而,这似乎会引发编译错误,因为可访问性修饰符不能用于接口(interface)中的访问器。
我希望从接口(interface)调用该属性,并且我希望能够在内部级别设置它。同时,如果从外部项目引用,我希望它是只读的。
这可能吗?
最佳答案
有一个提供get
和set
的内部接口(interface),以及一个只提供get
的公共(public)接口(interface)。让公共(public)接口(interface)扩展内部接口(interface):
public interface IAgable
{
int Age { get; }
}
internal interface IAgableInternal : IAgable
{
int Age { set; }
}
关于c# - 接口(interface)属性的内部修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26933371/