2011-08-12 24 views
1

を使用して、AJAXのデータで取得して設定値を削除するには、同様に、今、私はスクリプト#を使用し始めている、私は、Ajaxを介してサーバにデータパッケージを送信しようとした:と質問についてスクリプト#

jQuery.AjaxRequest<RespondPackage>(url, new jQueryAjaxOptions("type", "POST", "dataType", "json", "data", dataSendToServer)); 

dataSendToServerはこのように、getとsetアクセサを使用して、オブジェクトの種類の形で「SendPackage」です:

public class SendPackage 
{ private string reportID; 
    public string ReportID 
    { 
     get { return reportID; } 
     set { reportID = value; } 
    } 
    public SendPackage(string reportID) 
    { 
     this.reportID = reportID; 
    } 
} 

後のJavaScriptに変換するAJAXを使用してサーバにデータを送信するが、それはreportID(データが必要)だけでなく送信します、get_reportIDとset_reportIDも使用します。

Type.DeleteFieldのようなgetおよびsetアクセサのダミープロパティを削除するいくつかの方法を試しましたが、うまくいかないようです。したがって、取得および設定アクセサのプロパティを削除するためにサーバーに送信するデータを処理するメソッドがあるかどうかを尋ねたいと思いますか?

ご協力いただきありがとうございます。フィールドは、公共と財産を取り除く作る

public class SendPackage 
{ 
    public string reportID; 

    public SendPackage(string reportID) 
    { 
     this.reportID = reportID; 
    } 
} 

すなわち:同じようにクラスを作るについて

答えて

1

レコードクラスを使用します。つまり、レコードクラスからクラスを派生させます。

レコードクラスは通常のクラスとして定義されません。代わりに、あなたのctorを表すファクトリメソッドのみが作成されます。ファクトリの結果はバニラオブジェクトで、JSONオブジェクトにシリアル化されています。

レコードクラスには、メソッドやプロパティーを含めることはできません。つまり、パブリックプロパティだけでなく、最大でもメソッドです。

ToJSONメソッドを実装するクラスがあれば、スクリプトエンジンに組み込まれているJSON機能を使用してシリアル化されるものをオーバーライドすることもできます(おそらくjQueryもそれを使用します)。

1

なぜ。

+0

私は前にこれを書いていますが、私の友人はアクセサーを使用するとプロパティをよりよく制御でき、それをプロパティとして扱うことができます。だからこそ私はアクセサを使用しようとしています。 ところで、私はgetとsetアクセサを使用しないでも、SendPackageのコンストラクタは引き続きajaxのデータを介して送信されます。私もそれをどう扱うか本当に知りません。 ご協力いただきありがとうございます。 – nelsonwrong

+0

ゲッターとセッターは、単純なgetとsetメソッドの上に文法的な砂糖です。あなたのゲッターとセッターでいくつかのロジックを行っていない場合、オブジェクトは単純なデータオブジェクトですので、フィールドを使用する際に問題はありません – Ankur

+0

Hmmm、gotそれ。しかし、コンストラクタについてはどうですか?コンストラクタのダミーデータを削除したいのですが、可能なのですか? – nelsonwrong