2012-04-12 55 views
0
public static class Constants 
{ 

    public const string Fields_Fax = "FAX"; 
    public const string Fields_DataProtectionPost = "DATAPROTECTIONPOST"; 
    public const string Fields_DataProtectionTel = "DATAPROTECTIONMOBILE";   
    public const int AddressBookID = 595204; 

    public static readonly XName PersonXName = "Person"; 

該類在窗口服務解決方案中。該服務已在本地安裝,並使用上述值運行。添加靜態只讀屬性時導致錯誤的靜態常量類

我接管了這個項目,並將一些靜態只讀的XName類型添加到這個類中。 現在我收到一個錯誤:「This.App的類型初始值設定項引發了一個異常」,當我使用該類中的任何屬性時。

只有1個項目,我重新編譯瞭解決方案並重新安裝了窗口服務。任何想法是什麼問題?

唯一的例外是:

"The type initializer for 'Constants' threw an exception" 

...的內部異常是:

"The ' ' character, hexadecimal value 0x20, cannot be included in a name." 

...我評論了我的變化,它是沒有錯誤的正確讀取。所以我說只是1線,類似於「人」不變,但它造成的失敗:

public static readonly XName cor_Tel_GeneralXName = "Tel General"; 
+2

拋出了什麼異常? – Reniuz 2012-04-12 11:00:15

+2

不應該是'PersonXName = new XName(「Person」);'? – scibuff 2012-04-12 11:01:09

+0

@reniuz例外是「常量'的類型初始值設定項引發異常」...內部異常是 - {「該字符,十六進制值0x20,不能包含在名稱中。」} ... I註釋掉了我的更改,並且沒有錯誤地正確讀取。所以我添加了1行,看起來類似於「Person」常量,但導致它失敗...... public static readonly XName cor_Tel_GeneralXName =「Tel General」; – insanepaul 2012-04-12 11:11:59

回答

1

XName用作XML節點,因此受到命名XML節點通常的限制。 XML節點的名稱中不能有空格。

+0

我改變了你和@Reniuz的建議,它的工作!令人討厭的是它轟炸了其他XName常量,所以我沒有選擇它。 – insanepaul 2012-04-12 11:43:49

+0

好吧,一切都很好:) – 2012-04-12 11:51:45

+0

非常感謝你的 – insanepaul 2012-04-12 13:23:28