2007年5月10日 星期四

InternalsVisibleTo

在VS2003以前,為了開發良好設計的assembly (say A),經常地使用 internal 的 access modifier,讓不該存取的class 看不到。 但是,因為需要,就是需要讓在不同assembly B 的class 看到,那怎麼辦? 以前,只能將assembly B 的程式移到 A 中。可是又違反的商業邏輯。A 與 B 不應該放在一起的。 無解。 在 .net framework 2.0,有了新方法。 在 assembly A 的AssemblyInfo.cs 中,增加下面這一段 using SRC=System.Runtime.CompilerServices; [assembly: SRC.InternalsVisibleTo("AssemblyName, PublicKeyToken=1234567890abcdef")] 而 publicKeyToken 可以使用指令 SN.exe -T assbmelyB.dll 取得

沒有留言:

Share with Facebook