在C#中,接口不能包含字段(包括靜態字段和實例字段),因此您不能直接為接口屬性設置默認值。但是,您可以通過創建一個抽象類來實現類似的功能,該抽象類實現了接口并提供了屬性的默認值。
以下是一個示例:
// 定義一個接口
public interface IMyInterface
{
int MyProperty { get; set; }
}
// 創建一個抽象類,實現接口并提供屬性的默認值
public abstract class MyBaseClass : IMyInterface
{
private int _myProperty = 10; // 設置默認值
public int MyProperty
{
get { return _myProperty; }
set { _myProperty = value; }
}
}
// 創建一個實現接口的類,繼承自抽象類
public class MyClass : MyBaseClass
{
// 由于MyBaseClass已經實現了接口,這里無需再次實現
}
class Program
{
static void Main(string[] args)
{
MyClass myClass = new MyClass();
Console.WriteLine(myClass.MyProperty); // 輸出默認值 10
}
}
在這個示例中,我們首先定義了一個名為IMyInterface
的接口,其中包含一個名為MyProperty
的屬性。然后,我們創建了一個名為MyBaseClass
的抽象類,該類實現了IMyInterface
接口,并為MyProperty
屬性提供了一個默認值(10)。最后,我們創建了一個名為MyClass
的類,該類繼承自MyBaseClass
,并使用默認值。