如果它有一个特定的自定义属性,有什么方法可以强制类实现一个接口?
如果具有特定属性的类没有实现特定接口,我希望有编译时错误。
[myAttrib]
public MyClass:IMyInterface
{
}
如果myClass不是typeof(IMyInterface),我将在编译时遇到错误。
感谢,
答案 0 :(得分:0)
如果是属性,您可以创建一个继承该接口的抽象类,并从该抽象类中获取最终的类驱动。
看看
public interface Test
{
string Name { get; set; }
}
public abstract class Test1 : Test
{
public abstract string Name { get; set; }
}
public class Test2 : Test1
{
}
对于自定义属性,您可以
public class Alias : System.Attribute
{
string[] _types;
public Alias(params string[] types)
{
this.Types = types;
}
public Alias()
{
this.Types = null;
}
public string[] Types
{
get { return _types; }
set { _types = value; }
}
}
public interface Test
{
Alias Attrib{ get;}
}
public abstract class Test1 : Test
{
public abstract Alias Attrib { get; }
}
public class Test2 : Test1
{
}
希望我回答你的问题。