0

GHIネットワークインターフェイスドライバを使用するには、まずOpen()に電話する必要があります。ネットワークインターフェイスを開くことは何を意味しますか? The documentationは、メソッド呼び出しが必要であること以外は何も言いません。ネットワークインターフェイスドライバを開くことは何を意味しますか?

など。

var wiFiRs9110 = new WiFiRS9110(
    SPI.SPI_module.SPI2, 
    GHI.Pins.G120.P1_10, 
    GHI.Pins.G120.P2_11, 
    GHI.Pins.G120.P1_9, 4000); 

wiFiRs9110.Open(); // What does this do? 

wiFiRs9110.EnableStaticIP(IpAddress, SubnetMask, GatewayAddress); 

答えて

1

ハードウェアを使用するには、初期化が必要な場合があります。

彼らはその後、Dispose()方法でコンストラクタとClose()Open()からコードを統合することを選択したが、ことができた:

  • ハードウェア/ドライバ/クラスが初期化されている方法に影響する全てのパラメータを
  • オブジェクトを廃棄せずにネットワークインターフェイスを「解放」(またはClose())することはできません。したがって、このイベントハンドラはコンストラクタで渡す必要があります(最初のイベントを見逃したくありません)。再度アクセスする場合は、新しいインスタンスに同じパラメータを再度渡す必要があります
  • 何か問題が生じた場合、コンストラクタは例外をスローする必要があります。無効なパラメーターを渡すときにコンストラクターをスローし、ハードウェアが応答しないときにスローするOpen()メソッドを持つ方が理にかなっています。

これらのドライバには適用されない可能性がある、コンストラクタ内から何かを「開始」といくつかのあまり明確な問題もあります。

  • インタフェースはコンストラクタを定義することはできませんので、インターフェースは完全に何を表しています
  • コンストラクタから「開始」するクラスをサブクラス化する場合、「異なる方法で開始する」場合は、呼び出す親コンストラクタはありません
関連する問題