0

私は、このライブラリに約 50 の異なるクラスを持つクラス ライブラリがあるプロジェクトに取り組んでいます。私のアプリケーションでは、その特定のフォームまたはモジュールに必要な特定のクラスをインポートする方が良いですか、それとも少数のクラスしか必要としない場合でも名前空間全体をインポートする方が良いですか? アプリの過程でそれらすべてを使用しますが、フォームまたはモジュールごとにいくつかしか使用しません。

例えば:

Imports ProjectClasses 'This namespace has approx 50 classes with in it

Public Class formMain
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim objProject = New CProject
    Dim objElement = New CElement
  End Sub

名前空間全体よりも特定のクラスをインポートする方が良いですか?

Imports ProjectClasses.CProject
Imports ProjectClasses.CElement

Public Class formMain
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim objProject = New CProject
    Dim objElement = New CElement
  End Sub
4

2 に答える 2

0

答えはどちらでもないはずです。ライブラリはおそらくエリア/プロジェクト/機能ごとに分類され、特定のプロジェクトに必要なものはすべてインポートする必要があります。

それが不可能な場合は、名前空間全体をインポートします。これにより問題が発生する場合は、不適切なクラス名を選択した可能性があります。

于 2012-10-25T06:43:39.323 に答える
0

最善の方法は、使用する各クラスのオーバーライドを作成することです。そして、名前空間プレフィックスのないものを使用してください(とにかく現在のスコープにあるため)。多数使用する場合は、それらを機能グループに分けることができます。

このアプローチでは、新しい機能を導入することに決めた場合でも、それを行う必要があるのは 1 回だけです。また、コントロール ベンダーが動作方法を変更することを決定した場合は、新しいバージョンにアップグレードするときに古いコードが壊れないように、互換性レイヤーを追加できる場合があります。すべてがコードの 1 か所で行われます。

もちろん、このプロジェクトにどれくらいの期間参加するか、どれだけ複雑になるか、ベンダーがあなた自身であるかどうかなどによって異なります。

于 2012-10-25T18:15:55.603 に答える