日期:2014-05-18  浏览次数:20777 次

用非公共的可访问性添加属性访问器
书中说到:
如果用属性实现接口,就必须实现匹配的get/set访问器。如果在定义接口中只包含set块。就可以给类中的属性添加get块。只有所添加的访问器的可访问修饰符比接口中定义的访问器的可访问修饰符更严格时才能这么做。因为按照定义,接口定义的访问器是公共的。也就是说,只能添加非公共的访问符。
C# code

    public interface IMyInterface
    {
        int MyIntProperty
        {
            get;
        }
    }

    public class MyBaseClass : IMyInterface
    {
        protected int myint;

        public int MyIntProperty
        {
            get
            {
                return myint;
            }
            protected set
            {
                myint = value;
            }
        }
    }



对于上面的理解。对于添加set块要定义为非公共的。所以采用修饰符protected。但这又有什么用尼。

也无法能MyIntProperty进行写放。迷糊。朋友谁给讲讲

------解决方案--------------------
属性是通过私有变量封装出来的字段而已
 属性还是PUBLIC公开的