一直以來,我認爲構造函數的目的之一是在類中創建新的內部對象並設置它們的值。但是當我在Silverlight中嘗試創建控件(它是移動支付的控件)時,我在第三方程序集中得到了一個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
它確實取決於您在構造函數中正在做什麼。使用Controls時,您的代碼可能會訪問尚未完全初始化的組件。通常有一些特殊事件在控件初始化時觸發。這不是Silverlight特有的。 – thmshd