請考慮以下接口:如何用接口ID之類的東西替換枚舉?
interface IFile
{
// Members
};
interface IAudioFile : IFile
{
// Members
};
interface IVideoFile : IFile
{
// Members
};
enum ContentType
{
Audio,
Video
};
interface IProvider
{
HashSet<ContentType> GetSupportedTypes();
IList<IFile> GetFiles(ContentType contentType);
};
我認爲的ContentType枚舉是多餘的。 有什麼辦法可以使用接口標識符而不是枚舉類型?
對界面設計的任何評論都非常感謝。
是什麼讓你認爲你的枚舉是多餘的? – 2011-05-16 10:50:10
@Abdul,只是因爲接口類型映射到枚舉值: IAudioFile => ContentType.Audio; IVideoFile => ContentType.Video – 2011-05-16 11:00:03