Как запретить изменение свойства атрибута - CodeHelper

Как запретить изменение свойства атрибута

1

Есть класс A:

public abstract class A:Attribute
{
    public Name{get;set;}
}

И класс B:

public class B:A
{
    public B()
    {
        this.Name="SomeName";
    }
}

И класс C:

public class C
{
    [B]
    public SomeProperty{...}  

}

При обращении к атрибуту B в классе C нужно запретить его использование. При этом разрешается читать это свойство. Как это сделать?

Лучший ответ:

1

Так может тогда

public abstract class A:Attribute
{
    public Name{get; protected set;}
}

? :)

dublicator

Спасибо, почти то, что нужно. Жалко, что IntelliSense не распознает данную конструкцию.

Новые ответы


0

Если запрет на использование предполагает присваивание значения, то думаю так:

public abstract class A:Attribute
{
    public Name{get;private set;}
}
dublicator

Не совсем так. Я хочу, чтобы в классах-наследниках можно было изменять данное свойство (как и показано в классе В), а непосредственно при вызове атрибута - нельзя изменять.


v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.