2011-10-12 177 views
4

我有一個接口,其中包含一個屬性。我需要設置該屬性的默認值。怎麼做?。在界面中爲屬性設置默認值也是一種很好的做法嗎?或者在這裏使用抽象類來代替是一個恰當的類?設置Interface的屬性的默認值?

Thanx預先

回答

6

您不能設置默認值爲接口的屬性。除了接口

使用抽象類(只設置默認值,並沒有實現任何東西):

public interface IA { 
     int Prop { get; } 

     void F(); 
    } 

    public abstract class ABase : IA { 
     public virtual int Prop 
     { 
      get { return 0; } 
     } 

     public abstract void F(); 
    } 

    public class A : ABase 
    { 
     public override void F() { } 
    } 
+1

Petar,Does,使用抽象類除了接口的意思,我應該改變接口爲抽象類? – smhnkmr

+1

不,它意味着使用實現接口然後擴展它的抽象類。 –

1

接口包含沒有實現。他們所做的只是國家成員簽名。

一個實現一個接口可以自由擁有任何屬性的默認值。

E.g.抽象類可以爲其任何屬性返回默認值。