Все время я думал, что одной из целей конструкторов является создание новых внутренних объектов в классе и установка их значений. Но когда я попытался в Silverlight создать элемент управления (это были элементы управления для мобильного платежа) в конструкторе MainPage, я получил исключение NullReferenceException внутри третьей сборки. Когда я переместил код создания в обработчик кнопки, он работал нормально.Значение конструктора
Вопрос: Является ли это конкретным поведением Silverlight или я понимаю, что задача конструктора неправа?
// Constructor
public MainPage()
{
InitializeComponent();
//Exception
Banner Banner = new GeneralBanner (ContentPanel);
}
// Banner
public GeneralBanner (Grid contentPanel)
{
AdBanner = new InneractiveAd (AppId, InneractiveAd.IaAdType.IaAdType_Interstitial,
ContentPanel, 30, Options);
}
введите здесь свой код. –
Какое исключение? Какой код генерирует исключение? Мы не можем просто догадываться. – David
Это действительно зависит от того, что вы делаете именно внутри конструктора. При работе с элементами управления ваш код может получить доступ к компонентам, которые еще не полностью инициализированы. Обычно появляются специальные события, которые запускаются при инициализации элементов управления. Это не относится к Silverlight. – thmshd