我希望通过为该接口(interface)中的属性提供集合访问器来“扩展”该接口(interface)。界面看起来像这样:
interface IUser
{
string UserName
{
get;
}
}
我想要这样的东西:
interface IMutableUser : IUser
{
string UserName
{
get;
set;
}
}
我需要继承。我无法将 IUser
的主体复制到 IMutableUser
中并添加设置访问器。
这在 C# 中可行吗?如果可以,如何实现?
最佳答案
我看不出有任何理由说明您发布的内容不起作用?刚刚做了一个快速测试,它编译正常,但给出了关于隐藏的警告。这可以通过添加新关键字来解决,如下所示:
public interface IMutableUser : IUser
{
new string Username { get; set; }
}
另一种方法是添加显式设置方法;例如:
public interface IMutableUser : IUser
{
void SetUsername(string value);
}
当然,我更喜欢使用 setter,但如果不可能,我猜你会做你必须做的。
关于c# - 将 'set' 添加到 C# 中的接口(interface)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/623824/