如果接口不应该在C#中具有属性,那么如何在接口中拥有属性,因为属性是属性的getter和setter?在类中我们有这个例子,我认为接口应该只有方法声明.
interface IKnownProgrammingLanguages
{
string[] ProgrammingLanguages { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
属性只是一个很好看的函数声明.在糖的下面,它们看起来像这样:
interface IKnownProgrammingLanguages
{
void SetProgrammingLanguages(string[] value);
string[] GetProgrammingLanguages();
}
Run Code Online (Sandbox Code Playgroud)
接口不应该具有属性,因为实现类不能改变属性的行为 - 它们总是以相同的方式工作.但是每个实现类都可以定义SetProgrammingLanguages和GetProgrammingLanguages操作,这就是为什么允许它们,并且通常是有用的.
| 归档时间: |
|
| 查看次数: |
4639 次 |
| 最近记录: |