私はVSTS 2008 + C#+ .Net 2.0を使用してWindowsフォームアプリケーションを開発しています。私がデフォルトで見つけたのは、私たちが作成した新しいフォームがpublic partialとしてマークされるということです。Windowsフォームクラスの部分公開の問題
私の懸念は、公開クラスとして公開するクラスにセキュリティ上のリスクがあるかどうかです。私たちはそれを非公開とするべきでしょうか?機能をプライベートとしてマークした場合の影響?
ところで、私はパブリックとして部分的にプライベートとしてクラスをマークするときコンパイルエラーで会った。コンパイルのエラーメッセージは何ですか?何が間違っていますか?
Error 1 Elements defined in a namespace cannot be explicitly
declared as private, protected, or protected internal C:\FooTest\Form1.Designer.cs
これを内部としてマークすると、Windows Formsアプリケーションに機能上の影響はありますか?たとえば、.Netランタイムが他のアセンブリからクラスを操作するためにリフレクションを使用するかどうかは不明です(内部アセンブリとしてマークすると、.Netアセンブリを含む他のアセンブリからのアクセスは許可されません)。 – George2
.NETランタイムは、他のアセンブリからフォームクラスを操作する必要があるのはなぜですか?クラスの_インスタンスの_members_を操作する必要があるかもしれませんが(データバインディングを使用する場合など)、クラス 'internal'を作成することによって影響を受けません。だからうまくいくでしょう。 –
こんにちはパベル、私は内部クラスとしてクラスを作ると私の混乱は、他のすべてのアセンブリからのアクセスが拒否されている - 私はクラスのメンバーへのすべてのアクセスが拒否されていることも意味すると思います。正しい? – George2