Visual Studio引發了一個無用的異常,我認爲這是由於我在具有相同名稱的兩個相似類中有多個依賴項屬性。相同的依賴項屬性,多個類
這些類是添加/編輯聯繫人,所以他們共享一些屬性,我的問題是這樣的。
我可以註冊一個屬性爲:
DependencyProperty.Register(/*...*/);
或:
MyDP.AddOwner(/*...*/)
的問題是,我不知道是否添加或編輯類將首先被實例化的方式(取決於用戶選擇),因爲它們被定義爲靜態的,所以我不能在其初始化邏輯中加入任何幻想......我沒有可以自我包含在2個類中的想法。
那麼如何在這種情況下設置依賴項屬性?
編輯:
類型初始化異常:關於 'CharterHouseTouchScreenDemo.Views.Membership.AddMembershipView' 的類型初始引發了異常。
我知道它是依賴屬性初始化程序之一,因爲當它逐步通過它甚至沒有得到構造函數。
此外,在這種情況下,他們沒有足夠的相似性成爲同一類。簡而言之,它們共享的唯一信息就是存儲在此依賴項屬性中的信息。
編輯2:
我驚訝,這不是更好地記錄,任何媒體,大規模應用的意外命名依賴屬性同樣的事情的機會相當大。尤其是像普通的事情BackgroundColour
,HeadingText
,CurrentXYZ
...
我一直以爲你傳遞的主階級的類型,這樣就不會造成這樣的問題。
首先,什麼是「無用的例外呢?」這是獲得答案的重要部分。 – 2010-09-24 12:42:49
另外,爲什麼單獨的類?如果他們共享功能,是否有理由複製作品?不僅是,現在你做的工作加倍(並導致這類問題),這將可能是一個維護的噩夢(舉例來說,如果您發現錯誤,你必須記住要改變它的兩倍)。如果你真的需要單獨的課程,並且擁有第三個具有共享功能的課程,那麼你最好使用單個課程。根據您的設計,它可能是其他人從其派生的抽象類或接口,也可能是其他類調用的獨立類。 – 2010-09-24 12:44:04
Egads。當靜態構造函數中出現斷點(無論是您定義的還是編譯器創建的)時,都會引發TypeInitializationException。它是拋出異常的一個包裝,它打破了靜態構造函數。所以TypeInitializationException.InnerException會告訴你到底發生了什麼。 – Will 2010-09-24 12:58:47