порядок свойств

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

порядок свойств

Сообщение natcap » 24.03.2011 (Чт) 19:53

Добрый день
Возникла такая проблема:
есть класс с кучей Property, есть объект от этого класса, я опрашиваю его свойства:
Код: Выделить всё
        Dim properties As PropertyDescriptorCollection = TypeDescriptor.GetProperties(uPortfolio)
        Dim myProperty As PropertyDescriptor

        For Each myProperty In properties
               ...
        Next


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

В связи с этим возник вопрос как им жестко задать порядок?
Под C# есть атрибут [PropertyOrder(номер)] ...
в ВБ пытаюсь писать как <PropertyOrder(номер)> - не хочет, не понимает :(
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: порядок свойств

Сообщение FireFenix » 25.03.2011 (Пт) 8:44

http://msdn.microsoft.com/ru-ru/library ... 90%29.aspx

Класс PropertyOrder предназначен для упорядочения свойств (в том числе корневых и подчиненных свойств). Корневые свойства упорядочиваются сначала по категориям, затем в алфавитном порядке, а затем по значению PropertyOrder. Подчиненные свойства упорядочиваются сначала по значению PropertyOrder, а затем в алфавитном порядке.
Код: Выделить всё
Такое поведение отличается от конструктора Windows Forms, в котором для определения порядка свойств используется метод GetProperties. В WPF (конструктор) свойства упорядочиваются с помощью класса PropertyOrder.
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Re: порядок свойств

Сообщение natcap » 25.03.2011 (Пт) 12:07

да эту статью я скоро наизусть рассказывать буду, но как через атрибут задавать... НЕ ПОНИМАЮ!

Код: Выделить всё
    <PropertyOrder(10)> _
    Public Property MyProperty() As MyProperty
              .....
    End Property


На <PropertyOrder(10)> показывает ошибку "Невозможно преобразовать значение типа "Integer" в "Microsoft.Windows.Design.PropertyEditing.PropertyOrder"" (на C# конструкция [PropertyOrder(0)] работает)

Причем порядок который у пользователя получается вообще загадочный..
Категории у меня не заданы, последовательность Property в классе:
Код: Выделить всё
FaceInformation
Personnel
LogisticalSupport
StatisticList
Documents
Reviews

У пользователя первым вылезает LogisticalSupport о_0
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

1Steps
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 505
Зарегистрирован: 20.12.2006 (Ср) 0:50
Откуда: New York

Re: порядок свойств

Сообщение 1Steps » 25.03.2011 (Пт) 23:52

Удалена за ненадобностью.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 43

    TopList