是否有可能在c ++中的多个.cs文件中展开C#类?

-1 c# methods class organization

在C++中,您可以在单独的cpp文件中定义类的各个部分.所以,例如,

标题:

// Header.h
class Example
{
public: 
    bool Func1();
    bool Func2();
};
Run Code Online (Sandbox Code Playgroud)

CPP 1

//Func1.cpp
#include "Header.h"
bool Example::Func1()
{
    return true;
}
Run Code Online (Sandbox Code Playgroud)

CPP 2

//Func2.cpp
#include "Header.h"
bool Example::Func2()
{
    return false;
}
Run Code Online (Sandbox Code Playgroud)

在C#中可以做类似的事情吗?我正在制作服务器和客户端类,并且有一些方法永远不会被修改(例如SendString,GetString,SendInt,GetInt等),我想将它们与将根据什么进行主动更新的方法分开.正在接收数据包类型.

有没有办法像我正在尝试那样组织代码,或者我只需要创建另一个类来保存所有不会被进一步修改的方法?

Ale*_*kov 10

部分类是方法 - 通常用于拆分自动生成和用户编写的代码.请参阅何时使用C#部分类?对于使用它的情况是有道理的.

重构代码以将类保存在单个文件中可能更好,因为它对于C#源来说更为常见.

一种选择是在小接口上使用扩展方法,并将单独的紧密分组方法放入单独的静态类中.

 // Sender.cs
 // shared functionality with narrow API, consider interface
 class Sender
 {
     public SendByte(byte byte);
 }

 // SenderExtensions.cs
 // extensions to send various types 
 static class SenderExtensions
 {
     public static SendShort(this Sender sender, uint value)
     {
        sender.SendByte(value & 0xff);
        sender.SendByte(value & 0xff00);
     }
 }
Run Code Online (Sandbox Code Playgroud)