[英]Enum stubs in Interfaces?
我在這些接口所在的項目中的一個Enum.cs類中定義了一個枚舉。
我有一個名為IPhoto的接口,在其中需要放置一個稱為FileType的屬性,因為此服務中的其他方法都需要它,因此我希望任何實現IPhoto的類都具有此定義,以便他們知道。
這看起來不合適嗎,還是您不會做這樣的事情? 那我該如何定義呢?
我的意思是我不能僅僅這樣做:
MyEnum FileType;
關鍵是所有文件都有一個類型。 在我的具體課程中,我表示使用枚舉(例如jpeg等)。 因此,任何實現此目標的類都必須以某種方式肯定具有FileType屬性。
您可以將屬性添加到接口。 請參閱文檔 。
public interface ISampleInterface
{
MyEnum FileType
{
get;
}
}
現在,接口的所有實現都必須為該屬性定義一個吸氣劑。
我看不出有任何理由不這樣做,如果它是對象需要遵循的接口的一部分,如果要向接口添加只讀屬性,您可以這樣做:
public interface IPhoto
{
MyEnum FileType
{
get;
}
}
讀寫為:
public interface IPhoto
{
MyEnum FileType
{
get;
set;
}
}
如果事先知道所有可能的文件類型,則可以使用枚舉。 當然,您只需為該枚舉類型添加屬性即可。
如果服務可以定義自己的文件類型,則必須使用一個類(然后可以將其子類化)。
你有嘗試過嗎?
public enum MyEnum { one, two, three }
public interface Bar { MyEnum Whatever { get; set; } }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.