전적으로 생성자의 목적 중 하나는 클래스에서 새 내부 객체를 만들고 그 값을 설정하는 것이라고 생각했습니다. 그러나 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);
}
여기에 코드를 입력하십시오. –
예외는 무엇입니까? 어떤 코드가 예외를 throw합니까? 우리는 추측 할 수 없습니다. – David
정말 생성자 안에서 정확히 무엇을하는지에 따라 다릅니다. 컨트롤로 작업 할 때 코드는 아직 완전히 초기화되지 않은 구성 요소에 액세스 할 수 있습니다. 일반적으로 컨트롤이 초기화 될 때 트리거되는 특별한 이벤트가 있습니다. 이것은 Silverlight에만 국한되지 않습니다. – thmshd