Особенности использования метода GetPropertyStorageName класса Information
Статический метод GetPropertyStorageName
класса Information позволяет получить имя хранения .Net-свойства, установленное атрибутом PropertyStorageAttribute
.
Метод без использования индекса
Метод, не требующий указания индекса при вызове, имеет следующий вид:
/// <param name="type">.Net-тип класса объекта данных</param>
/// <param name="property">имя свойства</param>
/// <returns>имя хранения</returns>
static public string GetPropertyStorageName(System.Type type, string property)
Данный метод необходимо применять, если атрибут свойства PropertyStorageAttribute
имеет вид:
[PropertyStorage("TimeQu"))
Метод с использованием индекса
Метод, требующий указания индекса при вызове, имеет следующий вид:
/// <param name="type">.Net-тип класса объекта данных</param>
/// <param name="property">имя свойства</param>
/// <param name="index">индекс в множестве</param>
/// <returns>имя хранения</returns>
static public string GetPropertyStorageName(System.Type type, string property, int index)
Данный метод необходимо применять, если при объявлении атрибута свойства PropertyStorageAttribute
используется массив имён:
PropertyStorage(new string[]) {"ПростоКласс"}))
В этом случае параметр index
определит номер элемента из массива имён, определённого при объявлении атрибута свойства PropertyStorageAttribute
, который будет возвращён методом.
Ошибочное использование Information.GetPropertyStorageName
- Если атрибут
PropertyStorageAttribute
был объявлен без использования массива, но используется вызовInformation.GetPropertyStorageName
с индексом, то будет вызвано исключение. - Если атрибут
PropertyStorageAttribute
был объявлен с использования массива, но используется вызовInformation.GetPropertyStorageName
без индекса, то будет возвращена пустая строка.
Особенности генерации атрибута свойств PropertyStorage
- Атрибут
Storage
, заданный для свойств классов, после генерации будет представлен в виде объявления атрибутаPropertyStorage
без массива. - Атрибуты
Aggregator Storage
детейловой связи иStorage
мастеровой связи после генерации будут представлены в виде объявления атрибутаPropertyStorage
без массива, если выполнены следующие условия:- Storage-атрибут содержит только одно непустое значение.
- Атрибут TypeUsage содержит более одного значения.