C# 语法检查

本文关键字:检查 语法 | 更新日期: 2023-09-27 18:20:22

我创建一个项目,并添加一个文件。我可以构建一个exe等等,工作正常。

问题是:如果我的项目中有多个文件,并且我想在一个文件中检查代码的语法,并且不想构建 exe 或 dll,该怎么办?

在编写 c 时,我在 Visual Studio IDE 中按 ctrl+F7 并编译我的代码。我知道 c# 中没有对象文件。Microsoft C# 参考声明:"没有因调用 C# 编译器而创建的对象 (.obj( 文件;输出文件是直接创建的。

是否有一个 csc.exe 开关告诉我"好的,你的代码看起来不错",或者"第 xx 行的表达式没有意义"?

注意:请不要提供指向使用 csc.exe 构建命令行的链接。所有示例命令行都用于从一个或多个文件创建 exe 或 dll。或者关于如何从构建中排除文件。我不想这样。

C# 语法检查

编译器是语法检查器。 它会在编译 C# 代码时告诉您代码是否有效。 任何错误或警告都将在尝试编译结束时提供。 如果没有,则它是有效的代码。

您可以随时单独编译任意一段 C# 代码。 但是,如果该代码依赖于其他代码,则为了使其有效,还需要将其他代码包含在编译中。 使用其他未定义符号(例如在其他代码文件中定义的类(的代码无效。 这些符号需要定义。

在上面的评论中,您表示担心整个项目的这种编译可能需要很长时间。 这将通过将代码组织成更小的组件来解决。 如果你有一个庞大的C#项目需要很长时间来编译,那么你所拥有的就是一团糟。 将其分解成更小的组件。 这些组件中的每一个都可以在自己的项目中,这些项目可以单独编译。 不同的项目将相互依赖,相关项目将包含在该编译中。 但是这个依赖关系图不应该太大和笨拙。 如果是这样,你仍然一团糟,但规模不同。 在项目之间保持依赖关系图浅薄且可维护。

有点回答我自己的问题。当我发布这篇文章时,我不知道在 c# 中拆分定义和实现是不可能的,就像你在 c 或 c++ 中所做的那样。https://social.msdn.microsoft.com/Forums/en-US/64800602-4ff2-4747-8c42-a4e1980d4124/c-no-header-files-all-code-is-written-inline-why?forum=csharplanguage 指出接口可以做到这一点,但不是以我在原始帖子中要求的方式。看起来像在多文件项目中,除了构建整个项目之外,只有 IDE 给了我这条信息(语法检查(。

似乎在单个文件(Visual Studio(上使用ctrl + F7,或者在c#上使用-c或-fsyntax仅切换(在gcc上(是不可能的。