如果有相同的類,一般可以使用 partial 讓他寫在多個文件,那麼如何把多個文件合併?請看 MainWindow.xaml 和 MainWindow.xaml.cs 其中 代碼文件被摺疊,那麼如何做代碼的摺疊 ...
如果有相同的類,一般可以使用 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 反射
本作品採用知識共用署名-非商業性使用-相同方式共用 4.0 國際許可協議進行許可。歡迎轉載、使用、重新發佈,但務必保留文章署名林德熙(包含鏈接:http://blog.csdn.net/lindexi_gd ),不得用於商業目的,基於本文修改後的作品務必以相同的許可發佈。如有任何疑問,請與我聯繫。