私は、フォームで別のことをするべきクラスを持っています。インターフェイスのケースですか?
これらの「事が」フォームに固有であるため、私はこのようなフォームへの参照格納します。
Friend Class clsEdit
Private m_Form As frmMain
をそして私は、このようなクラスに渡し:
今Public Sub New(ByRef uForm As frmMain)
m_Form = uForm
End Sub
私のクラスでこれらの「もの」を行うべきときは、私は次のようにします:
MyEditClass.DoThings()
内部的には次のようになります。
Public Sub DoThis()
m_Form.SetHookPaused(True)
m_Form.StopCommonTimers()
End Sub
Protected Overrides Sub Finalize()
m_Form.DoSomethingThatOnlyThisFormCanDo()
End Sub
これで、別のフォームでもclsEditを使用できるようになりました。 この他のフォームには、機能 "DoThings"と "DoSomethingThatOnlyThisFormCanDo"もあります。
私はこの
Private m_Form As Form
にm_Formの宣言を変更した場合しかし、私はもうこれを行うことはできません。
m_Form.DoThings()
を... "DoThingsは" ではありませんので、 "フォーム"のプロパティ/機能。
そして、私はこれにそれを変更する場合:
Public Sub New(ByRef uForm As frmMain)
m_Form = uForm
End Sub
誰もが、私はこれを行うことができる方法を教えてもらえます:
Private m_Form As frmOther
...私はもうはそれを行うことはできませんか?
フォームはすでにクラスです。フォームに別のクラスで取り除くのではなく、メソッドを追加するだけで済みます。インターフェースがあなたの投稿にどのように使われているかわからない – Plutonix
はい、同じメソッドと関数を持つ2つの異なるフォームがある場合は、インターフェイスを作成して代わりに使用してください。 – LarsTech
このケースのインターフェイスでキックスタートを教えてください。 – tmighty