c# - Fine-grained visibility for 'internal' members -
recently reading partitioning code .net assemblies , stumbled upon nice suggestion this post: "reduce number of .net assemblies strict minimum".
i couldn't agree more! , 1 of reasons see often, people want isolate piece of code, make types/methods internal , put them separate project.
there many other reasons (valid , not) splitting code several assemblies, if want isolate components/apis while still having them located in 1 library, how can that?
namespace myassembly.someapiinternals { //methods class should not //be used outside myassembly.someapiinternals internal class foo { internal void boo() { } } } namespace myassembly.anotherpart { public class program { public void test() { var foo = myassembly.someapiinternals.foo(); foo.boo(); //ok, not compiler error red flag @ least } } } how can 1 restrict type/method being used other types/methods in same assembly outside namespace?
(i'm going give few answers myself , see how people vote.)
thanks!
you put code in different assemblies, merge assemblies ilmerge in post-build step...
Comments
Post a Comment