この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
プログラミング
›
.Net/C#
›
InternalsVisibleToAttributeは、内部メンバーを指定された...
眺める:
21086
|
答える:
0
[出典]
InternalsVisibleToAttributeは、内部メンバーを指定されたフレンドアセンブリに公開します
[リンクをコピー]
クズども
掲載地 2017/02/06 14:27:59
|
|
|
有源議会への序章
内部クラスのメンバー(型、メソッド、プロパティ、変数、イベントなど)は同じアセンブリ内でのみアクセスできることがわかっています(もちろん、ここでは通常の方法で、リフレクションによるアクセスは含めません)。 このルールは に属しています。 .NET 2.0はやや機能が悪く、アセンブリの内部メンバーを特定のメンバーがアクセスできるように設定できます。 これらの内部メンバーを含むアセンブリをソースアセンブリと呼び、アセンブリ集合をフレンドアセンブリと呼びます。
フレンドアセンブリの利用
この属性はアセンブリレベルで使用されます。
ログインが見えます。
このようにして、FriendAssemblyプログラムがアセンブリを参照した後、内部のNameプロパティにアクセスできます。
一般的に言えば、このアセンブリ:InternalsVisibleTo("FriendAssembly")はアセンブリレベルにあるため、このアセンブリー AssemblyInfo.csに置く方が適しています。
InternalsToVisibleTo を使うタイミング
実際、この属性は一般的な用途では使われておらず、悪用すべきではありません。 一般的に、よく設計されたアセンブリは外部に公開されている必要はありません。
しかし、ユニットテストのシナリオではこの機能を活用できます。 この機能を使うことで、ユニットテストのコードが内部メンバーにアクセスできるように指定でき、それらのメンバーをユニットテストできます。 しかし、これを行うとソースアセンブリにフレンドアセンブリの名前を死にしておく必要があり、セキュリティ上の問題が生じます。 シグネチャアセンブリを導入することでセキュリティを保証できます。
InternalsToVisibleToと署名アセンブリ
フレンドメタアセンブリの名前と公開鍵をInternalsVisibleToに直接指定できます。
VSの開発者コマンドラインを使ってFriendAssemblyの公開鍵を生成してください:
ログインが見えます。
フレンドアセンブリの名前とソースアセンブリの公開鍵を指定します:
ログインが見えます。
実際、フレンドアセンブリはソースアセンブリを参照し、署名済みアセンブリは符号なしアセンブリを参照し、署名済みアセンブリは符号なしフレンドアセンブリを指定できないため、どれも署名されているため署名が必要です。
先の:
自動的にTenpayの支払い振込ページに移動し、情報を入力してください
次に:
InternalsVisibleToを使って「friend assembly」をassemblyに追加してください
関連記事
•
.NET/C#はPDFをImageMagickやGhostScriptに基づく画像に変換します
•
フロントエンドのウェブページは、WASMで関数を3つの方法で実行します
•
メジャー、マイナー、ビルドナンバー、リビジョンのバージョン番号に注釈が付けられています
•
【継続的な更新】Discuz X3.4プログラムの最適化とクレンジング
•
.NET/C#はMutexとMemoryMappedFileに基づくプログラムのシングルトンを実装しています
•
Roslynを使ってC#コードを動的にコンパイルし、実行します
•
.NET/C#はAssemblyLoadContextに基づくDLLプラグインのホットアップデートを実装しています
•
Guardian ASP.NET CoreアプリをPM2で起動してください
•
.NET Coreはアセンブリの一意のアイデンティティを取得します
•
NSIS(III)はプロセスの存在と終了の確認を行います
閲覧したセクション
ジャワ
HTML/CSS/JavaScript
Windows/Linux
その他の番組編成
ニシキヘビ
オラクル
フロントエンドフレーム
技術チャット
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com