提问人:Sinatr 提问时间:8/2/2023 更新时间:8/2/2023 访问量:28
为项目中的文件命名 A.Designer.cs 将使其嵌套到 A.cs
Giving file in the project a name A.Designer.cs will make it nested to A.cs
问:
我刚刚发现了 Visual Studio 的一个有趣的功能(使用 VS2022),重命名现有类或创建与另一个类同名的新类,并使其嵌套到另一个类。".Designer"
以一个简单的控制台项目为例:
csproj-file 中没有任何内容表明它是嵌套的。我通常会期待类似的东西
<ItemGroup>
<Compile Update="Localization\LocalizedStrings.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>LocalizedStrings.tt</DependentUpon>
</Compile>
<Compile Update="Views\SoftwareView.axaml.cs">
<DependentUpon>SoftwareView.axaml</DependentUpon>
</Compile>
...
我找到了这个答案,解释了设计器文件的不同角色。似乎它们应该被自动生成并得到特殊处理。
早些时候我使用的是插件。
问题:使用这个“技巧”来制作嵌套的东西是否安全?我希望什么都不会被覆盖?是否有更多与按名称或其他方式自动嵌套文件相关的技巧?
答:
0赞
Sinatr
8/2/2023
#1
我会说是
坏主意
某些功能在此类文件中不起作用。".Designer.cs"
对于此文件中的类,不会显示某些(全部)警告(例如 C8618)。但是,会显示编译器错误并正常停止构建。
代码清理不执行任何操作:不格式化,不删除未使用的 using 等。但是 Intellisense 支持完全有效,或者至少我没有注意到任何差异。
这已经够糟糕的了。
VS 以不同的方式对待此类文件,假设它们确实是由某些工具自动生成的,并且只留下最少的检查。不是为人工编辑而设计的。
评论