【发布时间】:2014-11-15 05:26:47
【问题描述】:
我想要一个
interface IFoo
{
string Foo { get; }
}
实现如下:
abstract class Bar : IFoo
{
string IFoo.Foo { get; private set; }
}
我希望属性可以通过接口获取,但只能在具体实现中写入。最干净的方法是什么?我是否需要“手动”实现 getter 和 setter?
【问题讨论】:
-
protected是要走的路。 -
你能澄清一下吗?
string PartitionKey { get; protected set; }产生错误“可访问性修饰符不能用于接口中的访问器” -
您需要使用支持字段来实现该属性 - 然后您就可以从具体实现中访问该字段(当设置为受保护时)。我认为您无法使用自动属性来实现这一点。
-
具体类中刚刚设置的使用有什么问题?然后你就可以读写了。
-
在
class上使用protected而不是interface。