Я хотел бы создать атрибут C#, который принимает параметр Type.Могу ли я неявно создавать переменные-члены через атрибуты?
[MyAttribute(typeof(FooBar))]
public class MyClass
{
Добавление этого атрибута к классу должен, среди прочего, сказать Visual Studio неявно, что этот класс имеет переменную-член этого типа, с именем, полученным из вида.
Например, добавление атрибута с параметром typeof(FooBar)
должно неявно создавать переменную-член private FooBar _foobar;
.
Я хотел был бы иметь возможность получить доступ к этому члену через autocomplection в IDE, поэтому делать это во время выполнения было бы слишком поздно.
Возможно ли это вообще? Как я мог это достичь?
Не напрямую. Зачем тебе это нужно? – CodeCaster
Чтобы дать вам более качественные ответы, вы должны описать проблему, с которой вы столкнулись, где этот атрибут, который предположительно добавит это поле, будет решением. Это, возможно, даст нам подсказки, которые позволят нам помочь вам с оригинальной проблемой, а не с вашим текущим решением. Разве не наследование классов или интерфейсов не поможет вам с такими требованиями? –
@CodeCaster Я просто искал удобный способ избежать кода плиты котла. Я хочу получить зависимость от центрального источника по типу и сохранить его в переменной-члене. Но я надеялся, что мне не удастся явно определить переменную-член и включить код для извлечения зависимости каждый раз. Вместо этого я хотел бы определить атрибут, который будет сообщать IDE перед компиляцией, что присутствует переменная-член определенного типа и имени и извлекать зависимости во время выполнения в зависимости от существующих атрибутов. –