私は、ObjectDataSource(および他のリフレクトベースのオブジェクト)で使用するための、いくつかの共有メソッドをアプリケーションに持っています。彼らは、しかし、彼らは、すべての1回の使用方法です(彼らはすべての呼び出しですべてを再構築)、自動パラメータのチェック、フィルタリングなどの多くを処理します。誰かがコードを直接記述してインスタンスメソッドを呼び出す方が、呼び出し間にすべてのフィルタリングなどが格納されるようにする方がはるかに優れています。メソッドはコード属性を意図していませんか?
これを示す方法に追加できる属性はありますか?メソッドがリフレクションなしで呼び出されないようにするのが最善です。次善策は、このメソッドが間違って使用されているという警告を出すことです。
<MethodNotIntendedForCode()> _
Public Shared Function DataAccessMethod(Parameters....) As ObjectQuery(Of DataType)
私はそれを非公開にしても、ODSはまだリフレクションによってそれにアクセスできますか?非公開の目的を打ちのめすのではないでしょうか?また発見できないようにする? –
@ just.another.programmerあなたが反射を使用しているとき、空は限界です。 ODSが非公開のメソッドを使用する**を選択するかどうかは、ODS –
までです。古い/ブラウズ可能なコンボで遊んでいますが、これは本当にうまく動作します。ありがとう! –