Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 10.04.2012
Сообщений: 84

Изменение значения поля самописным атрибутом

22.10.2013, 14:25. Показов 1009. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть свойство
public string Trance {get;set;}

Можно ли с помощью атрибута на лету получать и изменять его данные?

Это мне нужно в модели asp mvc. Получить данные смог, но как туда записать не приходит на ум.

Добавлено через 11 минут
Уточнение: я про CustomAttribute:Attribute
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.10.2013, 14:25
Ответы с готовыми решениями:

Изменение значения поля с помощью свойства
Есть класс,который реализовывает добавление здоровья. Как сделать добавление фикисированным,а не рандомно? public class Apple: Bonus ...

Добавление кнопки "Обзор" // Изменение свойств поля,изменение значения по 2му шелчку
Доброго времени суток! Есть форма для будущего заполнения пустой базы данных для учета производства в цифровой типографии (как пример)...

Изменение значения поля
Как посредством JS внести в поле на веб-странице значение? Полей много, а значение одинаковое, поле называется "Доступное...

4
 Аватар для Anklav
447 / 305 / 47
Регистрация: 23.01.2013
Сообщений: 661
22.10.2013, 16:47
А свойство это где, в атрибуте?
0
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 2
22.10.2013, 22:49
Нет. У свойства есть атрибут.

Добавлено через 4 минуты
Может рефлексией как то?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
23.10.2013, 01:57
.NET 3.5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    class Program
    {
        static void Main ( string[] args )
        {
            var c = new Test();
            var properties = typeof( Test ).GetProperties( BindingFlags.Instance | BindingFlags.Public )
                .Where( p => p.GetCustomAttributes( typeof( CustomAttribute ), false ).Length != 0 );
 
            foreach ( var p in properties )
            {
                var attr = (CustomAttribute)p.GetCustomAttributes( typeof( CustomAttribute ), false )[0];
                p.SetValue( c, attr.DefaultValue, null );
            }
        }
    }
 
    [AttributeUsage( AttributeTargets.Property, Inherited = false, AllowMultiple = false )]
    internal sealed class CustomAttribute : Attribute
    {
        public CustomAttribute ( int defaultValue )
        {
            this.DefaultValue = defaultValue;
        }
 
        public int DefaultValue { get; set; }
    }
 
    class Test
    {
        [CustomAttribute( 123 )]
        public int SomeProperty { get; set; }
    }

.NET 4.5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    class Program
    {
        static void Main ( string[] args )
        {
            var c = new Test();
            var properties = typeof( Test ).GetProperties( BindingFlags.Instance | BindingFlags.Public )
                .Where( p => p.CustomAttributes.Any( a => a.AttributeType == typeof( CustomAttribute ) ) );
 
            foreach ( var p in properties )
            {
                var attr = p.GetCustomAttribute<CustomAttribute>();
                p.SetValue( c, attr.DefaultValue );
            }
        }
    }
 
    [AttributeUsage( AttributeTargets.Property, Inherited = false, AllowMultiple = false )]
    internal sealed class CustomAttribute : Attribute
    {
        public CustomAttribute ( int defaultValue )
        {
            this.DefaultValue = defaultValue;
        }
 
        public int DefaultValue { get; set; }
    }
 
    class Test
    {
        [CustomAttribute( 123 )]
        public int SomeProperty { get; set; }
    }
0
25 / 25 / 3
Регистрация: 10.06.2009
Сообщений: 134
23.10.2013, 09:29
Traizer, а как у вас вышло атрибутом считать значение свойства? Мне знакомо только два метода чтения/записи в свойство через рефлексию - PropertyInfo.GetValue() и PropertyInfo.SetValue()...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2013, 09:29
Помогаю со студенческими работами здесь

Изменение значения поля
Добрый день. Такая тема: есть у меня датасет, прицепил к нему грид, определил поля, в одном из них установил значение свойства editor для...

Изменение значения поля Label
Нужна такая программа: форма, на ней четыре элемента: кнопка -, по середине Label1, кнопка +, под ними еще Label2. Суть программы, при...

Изменение значения private поля в c++
При желании такое можно провернуть в c# (ну только естественно не на уровне объекта). Поэтому и возник такой вопрос. Ощущение что подобное...

Запрет на изменение значения поля
Здравствуйте. Всем хорошего дня и с праздником. А теперь к делу. Подскажите, пожалуйста, как сделать так, чтобы значение в поле нельзя...

Изменение значения ключевого поля таблицы
Форумчане, доброго времени суток! Пользователь ошибочно ввел в ключевое поле типа счетчик значение, от которого сейчас и идет нумерация...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru