2017-06-27 17 views
2

Webサービスでこの機能を使用しています。ASP .net Webservice関数のパラメータを非必須にする方法

[WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
    public void getbalance(string login, string password) 
    { 
     try 
     { 
      //some code 
     } 
     catch (Exception ex) 
     { 
      //show error message 
     } 
    } 

ここで、新しいパラメータ、つまりこれに日付を追加します。しかし、このwebserviceがアンドロイドアプリに使用されているので、新しいパラメータを追加するとこの機能は冗長になります。明白な解決策は別の関数を作ることですが、別の方法で新しいパラメータを追加することができます。この関数が呼び出されるクエリ文字列には、エラーを出す代わりに日付パラメータがありません。

答えて

1

NULL可能オプションのパラメータは、移動するための方法です:

[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public void getbalance(string login, string password, DateTime? date = null) 
{ 
    try 
    { 
     //some code 

     if(date.HasValue) 
     { 
      // Do something with date. You can get the date using date.Value 
     } 
    } 

    catch (Exception ex) 
    { 
     //show error message 
    } 
} 

あなたが日付を渡す場合、日付が値を持っています。それ以外の場合、日付はnullになります。

しかし、IMOでは、別のデザインを考慮する必要があります。

関連する問題