C# 从其他目录动态导入C类

C# 从其他目录动态导入C类,c#,visual-studio,class,C#,Visual Studio,Class,我有一个Visual Studio C项目和一个名为OtherClass的子目录中不同目录中的一组.cs C类。目录结构将是: <Visual C# Directory> <bin> <obj> <Properties> <OtherClasses> <Package1> <Package2> 所以在每个包目录中都有C类

我有一个Visual Studio C项目和一个名为OtherClass的子目录中不同目录中的一组.cs C类。目录结构将是:

<Visual C# Directory>
      <bin>
      <obj>
      <Properties>
      <OtherClasses>
           <Package1>
           <Package2>
所以在每个包目录中都有C类。我的问题是:有没有办法从Visual C目录中的主类中删除这些类

我还希望,如果用户在程序中选择包N,那么只调用该特定包的类。我不知道是否有可能以某种方式实现这一点


谢谢。

Visual Studio非常关心目录结构。.cs文件要么包含在项目中并进行编译,要么不包含在项目中因此不进行编译。因此,无论不同文件位于哪个文件夹中,只要它们的可见性内部或公共允许,它们都可以相互调用

如果您希望用户能够从不同的类集合中进行选择,那么除了依赖源代码目录之外,还必须使用其他方法进行区分

编辑
这是假设您将.cs文件编译为一个项目。如果您打算在程序运行时编译代码文件夹,那么代码的交互方式将由您使用的方法的细节决定。

是的,您可以为每个包创建程序集,然后根据用户的选择动态加载它们。您甚至可以通过使用内置的c编译器编译源文件,在运行时动态创建这些程序集。

您是先编译它们还是这是一个松散的.cs文件集合?调用这些类是什么意思?@Travis:它们是松散的.csfiles@siride:我的意思是使用那些.cs文件中的类,例如,所有类都有一个共同的方法,比如calculate,我在主程序中要做的是选择一个包目录,类,然后调用该方法。