В случае свойств, вы можете создать абстрактный класс, наследующий интерфейс, и получить ваш последний класс из этого абстрактного класса.
Взгляните на
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
{
}
Надеюсь, я отвечу на ваш вопрос.