2012-01-17 16 views
3

私はasp.net Webサービスプロジェクトを持っています。このプロジェクトには、独自のファイルで宣言されたいくつかのクラスが含まれています。これらのクラスの1つはclsUserです。Asp.net Webサービス、メンバーを非公開にする方法

clsUserは、文字列firstName、文字列passWord、およびboolが有効になっています(より多くは実際には単純ですが)。クライアントコードの作成者がfirstNameとpassWordメンバーにアクセスできるようにして、変更を加えることができるようにしたいが、有効なboolにアクセスしないようにしたい。

私はfirstNameとpassWord publicを作成し、internalを有効にしました(Webサービスコードにアクセスできるようになりました)。問題は、MonoDevelopを使用して、この.Net Webサービスを私たちのLinuxサーバー上に置かなければならないことと、内部であると宣言されたものはMonoには見られません。

Webサービスコードで特定のメンバーにアクセスできるようにする方法はありますか?

+0

マイナーコードを考慮する必要があります。 1.ユーザーの前に "cls"をドロップします。それは何も追加せず、MSや他の多くの人々によって現在悪とみなされています。 2.「passWord」について。通常、ワードブレーカーを利用します。パスワードは実際には1つの単語なので、適切な方法は単に「パスワード」と呼ぶことです。公共の財産でなければ「パスワード」にする必要があります。 – NotMe

答えて

1

公開する予定のメンバーだけを含む別の 'サロゲート'クラスを作成し、元のclsUserインスタンスからインスタンス化されたインスタンスをclsUserのインスタンスではなく返す。

+0

応答をありがとう。申し訳ありませんが、簡単な例を投稿できますか?私はあなたが意味することを知っていると思うが、私は100%確実になりたい。 – PaulG

+0

'UserName'と' UserID'と 'Password'プロパティを持つクラスがあり、これがユーザオブジェクトの主要な 'モデル'であれば、' UserLite'(または何か)という別のクラスを作成してください。メインクラスから移入され、サービスの実際の戻り値の型として使用されます。つまり、 'Password'プロパティがない場合を除いて、ほぼ同じクラスです。 – kprobst

関連する問題