私はしばらくの間、さまざまな Web ベースのプログラムやものを構築してきましたが、.NET はまったく初めてで、「適切に」物事を行っています。私は完全に独学なので、このようなサイトなどの助けを借りて、基礎の理解は限られています.
したがって、入力されたパラメーターに応じて必要なデータを返す一連の関数があります。これは非常に基本的なものであり、明らかにすべて機能します。ただし、クラスを使用してこれらの関数を簡単に呼び出せるようにしています。
DropDownList
したがって、入力されたものを HTML 文字列に変換して返す関数があるとします。
Function GetList(ListRequired as String) as String
' Do stuff to return a dropdownlist whos contend is determined by `ListRequired`, converted to an HTML string
End Function
この例では問題なく動作しますが、それを使用するには、必要なものを取得するために "ListRequired" に何を入力すればよいかを知っておく必要があります。
たとえば、ListRequired
para のオプションは「mastercategory」、「brandlist」、「priceranges」であり、異なるリストのセットを返します。各オプションは、データベースから取得した情報からコードを送信し、それに応じて返します。
サードパーティの開発者が必要な最も基本的な量の「命令」でこの関数を呼び出せるようにListRequired
し、クラスとして利用可能にすることで利用可能なリストを伝える必要さえないようにしたいとします。
Public Class DropDownLists
Public Property MasterCategory
Public Property BrandList
Sub New()
Me.MasterCategory = HTMLControls.RenderSearchFilters("mastercategory")
Me.BrandList = HTMLControls.RenderSearchFilters("brandList")
End Sub
End Class
開発者は、Visual Studio/VWD などから非常に簡単にこれを呼び出すことができます。
Dim dd As New DropDownLists
Dim list1Html as String = dd.MasterCategory
Dim list2Html as String = dd.BrandList
VWD などはすべての便利なヘルパーを作成し、クラスが公開するプロパティを表示するため、このコードを使用するのは非常に簡単で、常にマニュアルを参照する必要はありません。
ただし...クラスの新しいインスタンスを作成する場合:
Dim dd As New DropDownLists
これにより、サーバーはプロパティを作成するクラス内のすべての関数を処理することになりますが、プロパティが多数ある場合は非常に非効率的です。
だから私はロジックの私自身の解釈を使用して、これを書いてみました:
Public Class DropDownLists
Shared Property Master
Shared Property Brand
Sub New()
End Sub
Public Class MasterCategory
Sub New()
DropDownLists.Master = HTMLControls.RenderSearchFilters("mastercategory")
End Sub
End Class
Public Class BrandList
Sub New()
DropDownLists.Brand = HTMLControls.RenderSearchFilters("brandList")
End Sub
End Class
End Class
次のようなマスター カテゴリ ドロップダウンの HTML を作成できることを願っています。
Dim dd as New DropDownLists.MasterCategory
しかし、それは機能しません。よく考えてみると、理由がわかると思います...文字列を返すのではなく、新しい型を作成しています。
だから...私の質問は...
私が探しているものを達成する正しい方法は何ですか。つまり、入力してこれらの文字列出力を作成できるようにすることです
Dim dd As New DropDownLists
Dim list1Html as String = dd.MasterCategory
Dim list2Html as String = dd.BrandList
未知の可能性のある文字列パラメーターを渡す必要がなく、クラスが作成されるたびにすべてのプロパティが作成されることもありませんDropDownLists
。つまり、必要な出力のコードのみを実行します。