Ошибка в свойстве Dependency типа long - PullRequest
1 голос
/ 10 августа 2011

У меня объявлено свойство зависимости "Id":

    public long Id
    {
        get { return (long)GetValue(IdProperty); }
        set { SetValue(IdProperty, value); }
    }
    public static readonly DependencyProperty IdProperty =
        DependencyProperty.Register("Id", typeof(long),
        typeof(Component), new PropertyMetadata(-1));

«Компонент» - это пользовательский элемент управления, имеющий «Id».

Когда я запускаю приложение, оно дает мне исключение:

Произошло необработанное исключение типа «System.TypeInitializationException» в PresentationCore.dll

Дополнительная информация: инициализатор типа для My_Program.Component вызвал исключение.

Если я изменяю тип "long" на "int", все работает нормально. В чем проблема? я не могу создать свойство зависимости типа "long"?

Спасибо за вашу помощь.

Ответы [ 2 ]

4 голосов
/ 10 августа 2011

Попробуйте использовать суффикс L, т. Е. -1L

4 голосов
/ 10 августа 2011

Попробуйте привести значение по умолчанию к long:

new PropertyMetadata((long)-1);
...