2011-12-07 10 views
1

私はいくつかの文字列プロパティを持つ.net Webサービスのために生成されたスタブを持っています。 Webサービスからの応答がある場合、これらのプロパティはnull値を持つことができますか、または常に少なくともstring.Emptyに変換されますか?.Net Webサービスから返された文字列がnullになることはありますか?

WSDLで 'nillable = "true"'属性がWSDLに適用されている場合は、これらの属性はnullである可能性はありますか?

あなたが参照してください...私はちょうどヌル参照例外を取得せずにプロパティの値をトリム()を開始したいと思います。

+0

BTW、WCFまたはASMX? –

+0

----- ASMX ------ –

答えて

1

サーバーをnullでなく、String.Emptyを、としてnull値をシリアル化する必要がある場所に置くいくつかの追加のロジックがありますしない限り。あなたがヌルチェックの束を書いたくない場合は、トリムのための拡張メソッドを作ることを検討してください。

public static string TrimOrEmpty(this string val) 
{ 
    if (val == null) { return string.Empty; } 
    return val.Trim(); 
} 

編集:または、より合理的なAndersのバージョンで行ってください。 :)

+0

私は空であることがわかっていた文字列でTrim()を呼び出すという考えが嫌いだったので、受け入れられた答えをAndersからあなたのものに変更しました! –

1

はい、nullでもかまいません。

タグが存在しない場合は、nullになることがあります。

+0

タグの意味は?私はタグがnullを許可するために存在する必要があると思っていただろう。 –

+0

一般に、XMLコンテキストでは、タグが存在する場合、innerXMLは文字列の値になります。タグが存在しない場合、結果はnullになります。 – McKay

0

はいWSDLにフィールドの属性が'nillable=true'の場合、Webサービスの文字列にnull値を設定できます。

2

nullでもかまいません。あなたが拡張メソッドを使用する場合は、正常nullケースを扱うことができます。

public static string SafeTrim(this string source) 
{ 
    return (source ?? string.Empty).Trim(); 
} 
関連する問題