誰でもVBで私を説明できますか?別のフォームからアクセスできるように、Public Shared Subを使用する必要があります。
しかし、この「パブリック」と「共有」は何を意味するのでしょうか?
- 誰がパブリックですか?
- 誰と共有しますか?
公開共有されている場合、他のソフトウェアまたは「ハッカーアプリ」がこのサブとその値に簡単にアクセスできることを意味しますか?
誰でもVBで私を説明できますか?別のフォームからアクセスできるように、Public Shared Subを使用する必要があります。
しかし、この「パブリック」と「共有」は何を意味するのでしょうか?
公開共有されている場合、他のソフトウェアまたは「ハッカーアプリ」がこのサブとその値に簡単にアクセスできることを意味しますか?
VB.NET では、C#Shared
と同等ですstatic
。つまり、メンバーはクラスのインスタンスではなく、クラスに属しています。このメンバーはすべてのインスタンスで「共有」されていると思われるかもしれませんが、これは技術的には正しくありません。VB.NET はShared
インスタンスの呼び出しによってメンバーを解決しますが。
public class1
public shared something as string
public somethingelse as string
end class
次のコードは、VB.Net でこれらにアクセスする方法を示しています。
...
class1.something = "something" 'belongs to the class, no instance needed
dim x as new class1() with {.somethingelse = "something else"}
Console.WriteLine(x.somethingelse) 'prints "something else"
Console.Writeline(class1.something) 'prints "something" <- this is the correct way to access it
Console.Writeline(x.something) 'prints "something" but this is not recommended!
...
Public
すべてのリンク アセンブリがこのメンバーを参照および使用できることを意味します。
アクセサー キーワードはPublic
、メソッド、プロパティなどが可視であり、それを定義した DLL またはアセンブリの外部から呼び出し可能であることを意味します。
キーワードはShared
、メソッドなどが「インスタンス化」されていないことを意味します。つまり、これはクラス定義のみの一部であり、そのクラス定義から作成 (「インスタンス化」) されたオブジェクトの一部ではありません。これには、主に次の 2 つの効果があります。