4
我有一个接口,其中包含一个属性。我需要设置该属性的默认值。怎么做?。在界面中为属性设置默认值也是一种很好的做法吗?或者在这里使用抽象类来代替是一个恰当的类?设置Interface的属性的默认值?
Thanx预先
我有一个接口,其中包含一个属性。我需要设置该属性的默认值。怎么做?。在界面中为属性设置默认值也是一种很好的做法吗?或者在这里使用抽象类来代替是一个恰当的类?设置Interface的属性的默认值?
Thanx预先
您不能设置默认值为接口的属性。除了接口
使用抽象类(只设置默认值,并没有实现任何东西):
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() { }
}
接口包含没有实现。他们所做的只是国家成员签名。
一个实现一个接口可以自由拥有任何属性的默认值。
E.g.抽象类可以为其任何属性返回默认值。
Petar,Does,使用抽象类除了接口的意思,我应该改变接口为抽象类? – smhnkmr
不,它意味着使用实现接口然后扩展它的抽象类。 –