Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编辑C#库文件_C#_.net_Sockets_Websocket - Fatal编程技术网

如何编辑C#库文件

如何编辑C#库文件,c#,.net,sockets,websocket,C#,.net,Sockets,Websocket,我在使用socket库将C#应用程序与web应用程序通信时遇到问题 我正在尝试发送数组,但套接字库只能发送/接收字符串作为消息。我知道我可以将数组作为字符串发送,并在我的C#app上将其字符串化,但我有一些特定的理由不这样做 如上图所示,您可以看到.cs文件已锁定,不允许我进行任何更改。我相信开发人员有一些坚定的理由将message变量设置为StringONLY 有什么想法吗?您可以序列化数组并使用Send(字节[])使用BinaryFormatter将对象作为字节传输,或者您可以使用XmlS

我在使用socket库将C#应用程序与web应用程序通信时遇到问题

我正在尝试发送数组,但套接字库只能发送/接收字符串作为消息。我知道我可以将数组作为字符串发送,并在我的C#app上将其字符串化,但我有一些特定的理由不这样做

如上图所示,您可以看到.cs文件已锁定,不允许我进行任何更改。我相信开发人员有一些坚定的理由将message变量设置为StringONLY


有什么想法吗?

您可以序列化数组并使用Send(字节[])使用BinaryFormatter将对象作为字节传输,或者您可以使用XmlSerializer并使用Send(字符串)

您可以序列化数组并使用Send(字节[])使用BinaryFormatter将对象作为字节传输,或者您可以使用XmlSerializer并使用Send(字符串)

文件显示为“锁定”,因为它不是真实的文件-它是根据您引用的程序集内容自动生成的,显示原始源的外观。如果您想要进行任何实际更改,您需要获取原始源(您在问题中链接到的源),更改它(许可证允许)并重新生成它

话虽如此,它似乎是web套接字的包装器接口,它们只支持二进制或字符串数据,因此在某种程度上,您必须将消息转换为这些类型之一。您也可以在代码进入库之前在代码中执行该转换

文件显示为“锁定”,因为它不是真实的文件-它是根据您引用的程序集内容自动生成的,向您显示原始源的外观。如果您想要进行任何实际更改,您需要获取原始源(您在问题中链接到的源),更改它(许可证允许)并重新生成它


话虽如此,它似乎是web套接字的包装器接口,它们只支持二进制或字符串数据,因此在某种程度上,您必须将消息转换为这些类型之一。您也可以在代码进入库之前在代码中执行该转换

它是一个库文件,这意味着您只能访问代码,不能编辑代码

可以创建扩展属性或方法,这意味着您可以将覆盖方法传递给
Send
方法并向其传递一个数组

您可以使用
IWebSocketConnection
继承代码,如下所示:

公共接口IMyWebSocketExtended:IWebSocketConnection

然后创建接受所需类型的重写方法


或者,您可以在将数据传递到
IWebSocketConnection
之前从数组中提取数据,省去麻烦:)

这是一个库文件,这意味着您只能访问代码,不能编辑代码

可以创建扩展属性或方法,这意味着您可以将覆盖方法传递给
Send
方法并向其传递一个数组

您可以使用
IWebSocketConnection
继承代码,如下所示:

公共接口IMyWebSocketExtended:IWebSocketConnection

然后创建接受所需类型的重写方法


或者,您可以在将数据传递到
IWebSocketConnection
之前从数组中提取数据,省去麻烦:)

实现这一点的方法之一是扩展这些方法

public interface CustomWebSocket : IWebSocketConnection
例如,一旦扩展了方法,就可以修改内容并使用它


您可能希望查看源代码并首先签出内容。

实现这一点的方法之一是扩展方法

public interface CustomWebSocket : IWebSocketConnection
例如,一旦扩展了方法,就可以修改内容并使用它


您可能希望查看源代码并首先签出内容。

您已经链接到了Fleck的源代码-难道您不能简单地更改代码以满足您的需要,而不担心库被锁定吗?出于为什么只使用字符串的原因,它看起来像是基于在支持二进制数据之前创建的Nugget。看这里:@JamesThorpe很高兴知道这一点。是否可以更改程序集文件?我不知道如何获取原始源代码…您已经链接到了Fleck的源代码-难道您不能简单地更改代码以满足您的需要,而不担心库被锁定吗?出于为什么只使用字符串的原因,它看起来像是基于在支持二进制数据之前创建的Nugget。看这里:@JamesThorpe很高兴知道这一点。是否可以更改程序集文件?我不知道如何获得原始来源。。。