2015年6月29日 星期一

Interface 中的 屬性 get & set

如果希望Class實作Interface中的property,但是只希望該property具有下列特性:

{get; private set;}  封裝set的方法


這時候的Interface中宣告該property時,只能包含get


interface IPerson
{

    double Height { get; }


}

Class Person : IPerson
{
    public double Height {get; private set;}

}
interface中的屬性不能宣告為private set,否則會出現下列錯誤訊息:"Height.set': accessibility modifiers may not be used on accessors in an interface" 但如果宣告成set,Class的實作interface時,該屬性一定要一併宣告成set,否則會出現下列錯誤: "Name.set' is not public."

沒有留言:

張貼留言