【发布时间】:2011-05-16 10:44:20
【问题描述】:
请考虑以下接口:
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 枚举是多余的。 有没有办法使用接口标识符而不是枚举类型?
任何关于界面设计的cmets都非常感谢。
【问题讨论】:
-
是什么让你认为你的枚举是多余的?
-
@Abdul,只是因为接口类型映射到枚举值:IAudioFile => ContentType.Audio; IVideoFile => ContentType.Video
标签: c# enumeration interface-design