C#如何允许接口使用getter / setter创建成员变量?

时间:2015-09-29 09:36:23

标签: java c# interface implementation members

- 只要我记得,我一直认为Java和C#中的接口只允许接口中的以下内容 --constants - 方法签名

1)C#如何允许接口使用getter / setter包含成员变量?

public interface IEntityBase
{
    ObjectId _id { get; set; }
}

2)Java是否允许类似于上述C#代码的东西?

1 个答案:

答案 0 :(得分:1)

属性不是成员变量。可以把它想象为私有变量的旧技术的替代品,使用GetVarA()和暴露它的SetVarA(int varA)方法。

所有属性确实是,具有更整洁的语法。这就是为什么它可以存在于一个接口中,因为从技术上讲它根本就没有定义一个变量 - 你的字符串MyName {get;}的实现可以有一个私有的'myName'成员变量备份它,而有些人可以从一个每次调用属性的Get时都会生成数据库。