C # & CF: Атрибуты времени проектирования - PullRequest
1 голос
/ 07 января 2010

Я использую компактный каркас 3.5 и платформу pocket pc 2003.

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

Способ, описанный в MSDN (http://msdn.microsoft.com/en-us/library/tk67c2t8.aspx), на самом деле не работает.

Я получаю:

Не удалось найти тип или имя пространства имен CategoryAttribute (отсутствует директива using или ссылка на сборку?

Я использовал Intellisense, чтобы посмотреть, какие атрибуты я могу написать. В нем перечислены некоторые странные вещи, такие как:

  • EditorBrowsable
  • DesignerCategory
  • DefaultValue
  • DesignTimeVisible

Есть еще. Если я попытаюсь использовать их таким образом:

public partial class Counter : UserControl
{
[EditorBrowsable(EditorBrowsableState.Always)]
[DesignerCategory("Data")]
[DesignTimeVisible(true)]
[DefaultValue(0)]
public UInt64 theNumber;

.. я получаю следующие ошибки:

Атрибут 'DesignerCategory' не является допустимо в этом типе объявления. это Действительно только для объявлений класса.

Атрибут 'DesignTimeVisible' не является допустимо в этом типе объявления. это действительно только для «класса, интерфейса» деклараций.

Как правильно использовать атрибуты времени проектирования?

1 Ответ

1 голос
/ 07 января 2010

Настоящая проблема здесь в том, что вы не используете свойства; у вас должно быть:

public ulong TheNumber { get; set; }

или

private ulong theNumber;
public ulong TheNumber {
    get { return theNumber; }
    set { theNumber = value; }
}

Относительно атрибутов. По сути, эти атрибуты просто не поддерживаются (не существуют) для compact-framework. Вы цитируете статью MSDN для "полной" .NET. Если вы посмотрите (например) DisplayNameAttribute , он не претендует на работу с CF.

Свойства и т. Д. Уже должны быть доступны для установки во время разработки; у вас просто нет такого же уровня способности настраивать время разработки.

Кроме того, ulong довольно редко встречается в большинстве программ, но это не проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...