2012-04-12 15 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"; 

このクラスは、ウィンドウサービスソリューションです。サービスはローカルにインストールされ、上記の値を使用して実行されていました。static static readonslyプロパティを追加するとエラーが発生するクラス

私はこのプロジェクトを引き継いで、このクラスに静的なreadonly 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

+2

は、 'PersonXName = new XName(" Person ");'でなくてはなりません。 – scibuff

+0

@reniuz例外は「定数の型初期化子が例外を投げた」...内部例外は - {"''文字の16進値0x20を名前に含めることはできません。私の変更をコメントアウトし、エラーなしで正しく読んでいました。だから私は "人"定数に似ているが、それが失敗した1行だけを追加しました... public static readonly XName cor_Tel_GeneralXName = "Tel General"; – insanepaul

答えて

1

XName XMLノードとして使用され、そのXMLノードを命名するための通常の制限が適用されています。 XMLノードの名前にスペースを入れることはできません。

+0

あなたと@Reniuzが示唆したように変更しました。 Annoyinglyそれは他のXName定数に爆発したので、私はそれを拾いませんでした。 – insanepaul

+0

ああ、すべてがうまく終わっています:) –

+0

Big Thanks for that – insanepaul

関連する問題