专栏首页林德熙的博客VisualStudio 合并代码文件

VisualStudio 合并代码文件

如果有相同的类,一般可以使用 partial 让他写在多个文件,那么如何把多个文件合并?请看 MainWindow.xaml 和 MainWindow.xaml.cs 其中 代码文件被折叠,那么如何做代码的折叠

简单的方法,使用 SublimeText 打开 工程文件,当然 如果使用 VSC 也是可以,但是因为我用了 SublimeText 比较顺,所以就推荐使用。我收藏很多的工具,大家可以在我的博客看到。

工程文件就是创建一个工程自动生成的,如果创建一个空白的程序,那么就可以从创建的文件夹看到这个文件

使用 SublimeText打开,可以看到他里面包含了很多文件

    <Compile Include="MainWindow.xaml.cs">
      <DependentUpon>MainWindow.xaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>

那么这时如果创建一个类,请看下面的代码

    public partial class Kapen
    {
        public int Leroy { get; set; }
    }

    public partial class Kapen
    {
        public Kapen()
        {
        }

        public string a { get; set; }
    }

把上面的代码放到两个文件,那么可以看到在解决方案存在两个文件,接下来就要把他们放在一起

可以看到在刚才打开的工程文件,有这样的代码

    <Compile Include="Kapen.cs" >
      
    </Compile>
    <Compile Include="Kapen1.cs" >
      
    </Compile>

需要把他在需要被折的文件添加折他的文件,请看代码

    <Compile Include="Kapen.cs" >  这个文件就是折下面的文件
      
    </Compile>
    <Compile Include="Kapen1.cs" >
      <DependentUpon>Kapen.cs</DependentUpon> 添加折他的文件
      <SubType>Code</SubType> 
    </Compile>

方法的缺点

这个方法是有缺点的,可能有些小白就看到一个文件,不会展开,然后就不知道还别的文件。

这个方法不会让反射无法获取到属性,我在界面添加了一个 按钮,点击时就获得所有的类,可以获得写在两个文件的所有属性,所以这样写是可以的。

           Assembly assembly = Assembly.GetExecutingAssembly();
            foreach (var temp in assembly.GetTypes().Where(temp => temp == typeof(Kapen)))
            {
                string str = temp.GetMembers().Select(s => s.Name).Aggregate("", (c, s) => c + s + " ");

            }

输出 s 就可以获得所有的属性,写在多个文件在编译 vs 合并,所以看起来是多个,实际还是一个文件。

如果想获得反射的知识,请看 win10 uwp 反射


本文会经常更新,请阅读原文: https://lindexi.gitee.io/lindexi/post/VisualStudio-%E5%90%88%E5%B9%B6%E4%BB%A3%E7%A0%81%E6%96%87%E4%BB%B6.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Roslyn 打包自定义的文件到 NuGet 包

    在使用 sdk 格式的项目文件支持快速进行打包,但使用这个方式打包的时候将默认只带程序集输出文件,而没有带依赖的文件。本文告诉大家如何在打包的时候加上需要放在包...

    林德熙
  • 在 P2P 文件分享应用以文件或文件段为单位的优缺

    在我用了好几个 P2P 文件分享应用之后,我对比了多个应用对资源的处理,可以看到基本上可以分为文件夹级的、文件级的和文件里面的一段段级的。本文将会告诉大家使用不...

    林德熙
  • dotnet 文件读写务必注意事项

    林德熙
  • find命令以及文件名的后缀

    叶瑾
  • Spring的依赖注入

    依赖注入是一个重要的知识点,很多大型项目都要用到依赖注入的思想,那么怎么理解依赖注入呢?

    良月柒
  • vs使用指南

    1、卸载可以临时解除项目与解决方案生成的关联;移除可以解除项与解决方案、项目或文件夹的关联但 不移除其物理文件,移除没有卸载那么彻底,但他们都不会移除物理文件,...

    静心物语313
  • 升级个人网站框架组件IBatisNet+Castle

    今天晚上花了两个小时从Castle网站拿到最新的Castle.Facilities.IBatisNetIntegration代码,将IBatisNet版本升级到...

    张善友
  • PDF文件怎么打开?电脑怎样修改PDF文件内容

    PDF文件是一种值得信赖的办公文件格式,经常出现在我们的工作和生活当中,无论是在电脑上还是在手机上,它都不能直接修改,这点与word、txt文本格式有所不同,那...

    用户6477319
  • 【智驾周刊】谷歌起诉Uber剽窃自动驾驶技术| 自动驾驶赛车比赛赛车撞墙

    2017.2.25 | Vol .36 AutoDriving Weekly 智能驾驶周刊,旨在汇聚智能驾驶领域一周要闻以及点评,供读者参考。内容包括新闻、大小...

    新智元
  • Linux 文件管理命令语法、参数、实例全汇总(一)

    命令:cat cat 命令用于连接文件并打印到标准输出设备上。 使用权限 所有使用者 语法格式 cat [-AbeEnstTuv] [--help] [--v...

    小小科

扫码关注云+社区

领取腾讯云代金券