请考虑以下接口:如何用接口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