我在一个名为“OtherClasses”的子目录中的不同目录中有一个Visual Studio C#项目和一堆.cs(C#类)。目录结构将是:
<Visual C# Directory>
<bin>
<obj>
<Properties>
<OtherClasses>
<Package1>
<Package2>
所以在每个Package目录中都有C#类。我的问题是:有没有办法从Visual C#目录中的主类中删除这些类?
另外我想如果用户在程序中选择Package N,那么只调用该特定包的类。我不知道是否有可能以某种方式实现这一点。
感谢。
答案 0 :(得分:2)
是的,您可以为每个包创建程序集,然后根据用户选择的内容动态加载它们。您甚至可以通过使用内置的c#编译器编译源文件来在运行时动态创建这些程序集。
答案 1 :(得分:0)
Visual Studio对目录结构的关注度不高。 (.cs)文件包含在项目中并进行编译,或者它们不包含在项目中,因此不会编译。因此,无论不同文件所在的文件夹是什么,只要它们的可见性(内部或公共)允许,它们就能够相互调用。
如果您希望用户能够从不同的类集中进行选择,除了依赖源代码的目录之外,您还必须使用其他一些方法来区分。
修改强>
假设您将.cs文件编译为一个项目。如果要在程序运行时编译代码文件夹,那么代码的交互方式将取决于您使用的方法的具体情况。