TypeInitializationException при инициализации подкласса с помощью свойства зависимости - PullRequest
0 голосов
/ 31 июля 2009

У меня есть следующий простой TextBox подкласс , который добавляет одно свойство зависимости (OutputIndex):

public class OutputTextBox : TextBox
{
    public OutputTextBox() : base() { }

    public int OutputIndex
    {
        get { return (int)this.GetValue(OutputIndexProperty); }
        set { this.SetValue(OutputIndexProperty, value); }
    }

    public static readonly DependencyProperty OutputIndexProperty = DependencyProperty.Register(
      "OutputIndex", 
      typeof(int), 
      typeof(OutputTextBox), 
      new PropertyMetadata(false));
}

Когда я пытаюсь создать экземпляр объекта OutputTextBox, например

OutputTextBox otb = new OutputTextBox();

Я получаю System.TypeInitializationException , генерируемую с InnerException, говорящим: " Тип значения по умолчанию не соответствует типу свойства 'OutputIndex'. "

Что 'Тип значения по умолчанию' относится к InnerException? Что мне нужно сделать, чтобы иметь возможность создания экземпляра OutputTextBox?

1 Ответ

2 голосов
/ 31 июля 2009

Ваш PropertyMetadata настроен на инициализацию OutputIndex со значением по умолчанию false . False - логическое значение, OutputIndex - целое число, следовательно, исключение типа.

Передайте целочисленный аргумент PropertyMetadata или оставьте его пустым без значения по умолчанию.

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