中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

東京でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2013/03

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

フレンドアセンブリ

http://msdn2.microsoft.com/ja-jp/library/0tke9fxk(VS.80).aspx

テストを行う場合にpublicなクラスのテストを行うのはいいのですが、internalなクラスの場合にはテストを行うこともままなりません。

またあるクラスの前提条件を整えるためにも必要だったりします。

Visual Studio のクラスにはプライベートアクセッサの自動生成も存在しますが、一番簡単なのはフレンドアセンブリです。

以下のように使います。

#if DEBUG
[assembly: InternalsVisibleTo("TestSql")]
#endif

この場合TestSql.exeや、TestSql.Dllのプロジェクトからは丸裸になってしまいます。

もちろんリリース時にはこんな痕跡は残していてはいけませんので#if DEBUGはお忘れなく

投稿日時 : 2006年5月9日 2:07

コメントを追加

# C# 2.0で、InternalsVisibleTo属性を用いてアセンブリ内でのみ使用される機能を単体テストする方法 2006/05/09 19:54 Ride The Time! オータム マガジン

 中さんのブログを見ていて、C# 2.0に決定的な見落としがあることに気付きました。フレンドアセンブリ これは、即座に存在に気付いてリアクションすべきだった機能です。他のどのような機能強化よりも、私に

# re: フレンドアセンブリ 2006/12/25 16:27 上美谷

InternalsVisibleTo の引数には、公開キーの指定が必要でした。
(公開キートークンではなく、とても長い文字列

# re: フレンドアセンブリ 2006/12/25 16:27 上美谷

InternalsVisibleTo の引数には、公開キーの指定が必要でした。
(公開キートークンではなく、とても長い文字列

タイトル
名前
URL
コメント