【问题标题】:CodeDom - Linking multiple classes within a single AssemblyCodeDom - 在单个程序集中链接多个类
【发布时间】:2011-07-19 20:23:18
【问题描述】:

我有一个 C# 应用程序,我试图通过使用 CodeDom 重新创建它。这个应用程序里面有四个类。如果我要进入这个应用程序目录,我会找到项目文件 (App.csproj),如果我要启动这个项目文件,所有四个类都会一起加载。此外,如果我要构建这个应用程序,所有四个类将一起构建。

我的问题:我到底如何通过使用 CodeDom 创建此功能?

我已经使用 CodeDom 成功创建了四个类中的一个,但是我如何才能将接下来的三个类(并将它们链接)到我已经创建的第一个类?

我知道这可能听起来令人困惑,但如有必要我会解释更多。

【问题讨论】:

    标签: class assemblies project codedom


    【解决方案1】:

    如果这些类在同一个命名空间中,您可以将它们全部添加到一个 CodeNamespace 对象并从中生成代码。

    如果在不同的命名空间中,您可以通过将其他类的命名空间引用添加到您正在使用的命名空间对象来将其他类的命名空间添加到您的第一个类:-

    // 将其他类的命名空间添加到当前命名空间 onject defaultNameSpace.Imports.Add(new CodeNamespaceImport("Project.Namespace.Namespace"));

    其中 defaultNameSpace 是 CodeNamespace 的一种。您构建的第一个类被添加到这个 CodeNamespace 对象中,如下所示,然后从该对象生成代码:-

    defaultNameSpace.Types.Add(mainClass);

    mainClass 是一种 CodeTypeDeclaration

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2019-10-17
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多