我有一个界面
public interface IIntf { string Foo { get; set; } }
和一个班级
class MyClass : IIntf
{
public string Foo { get; private set; }
}
。现在我得到了编译器错误
'MyClass'没有实现接口成员'IIntf.Foo.set'。 “ MyClass.Foo.set”不是公开的。
因此,Foo.set
似乎是它自己的实体(和Foo.get
类似)。 我可以对他们做什么?如果是,那是什么?
例如我尝试使用Foo.set
实现缺少的setter属性-Visual Studio甚至建议使用
但是我没有找到任何有效的语法。在遵循建议并尝试实现Foo.set
方法时(由于已经有了,因此没有相应的get
),我得到了另一种类型的编译器错误:
但是,由于Visual Studio会显示(有时会在键入代码时提出建议)Foo.set
和Foo.get
,因此我认为可以使用它们完成某些工作。有什么想法吗?也许将方法重定向到仅getter / setter的一些好方法?还是其他?
答案 0 :(得分:3)
处理@Kjara在评论中提出的问题/问题:
get
和set
methods实现属性
场景(由编译器提供)。get
和set
(您不能定义
一行上get
,另一行上set
。答案 1 :(得分:-1)
赞
public class MyClass : IIntf
{
public string Foo { get; private set; }
string IIntf.Foo { get => Foo; set => Foo = value; }
}