XFEExtension
【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等
关注
0
Fork
0
Star
0
返回提交历史
Modified
README.md
+132
-12
XFEstudio/XFEExtension
修改Markdown文件
ec6f71c
代码差异
1 个文件
+132
-12
@@ -2,23 +2,23 @@
2
2
3
3
## 描述
4
4
5
XFEExtension是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,以便在快速开发C#项目时提高代码的可读性和简洁性。且提供了免费的ChatGPT代码API访问
5
XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等
6
6
7
7
## 用途
8
8
9
XFEExtension库适用于各种C#项目,特别适合在需要提高代码可读性的情况下使用。它包含了许多常见操作的拓展方法,使得代码编写更加高效和简便。以下是一些XFEExtension的用途示例:
9
XFE各类拓展库适用于各种C#项目,特别适合在需要提高代码可读性的情况下使用。它包含了许多常见操作的拓展方法,使得代码编写更加高效和简便。以下是一些XFEExtension的用途示例:
10
10
11
- **简化代码访问:** XFEExtension提供了更简洁的语法,使得代码中的访问操作更加清晰和易读。
11
- **简化代码访问:** XFE各类拓展提供了更简洁的语法,使得代码中的访问操作更加清晰和易读。
12
12
13
- **优化性能:** 通过使用XFEExtension,您可以执行各种性能优化操作,提高应用程序的效率。
13
- **优化性能:** 通过使用XFE各类拓展,您可以执行各种性能优化操作,提高应用程序的效率。
14
14
15
- **加速开发:** 通过减少样板代码,XFEExtension可以加速项目的开发过程,同时提高代码的可维护性。
15
- **加速开发:** 通过减少样板代码,XFE各类拓展可以加速项目的开发过程,同时提高代码的可维护性。
16
16
17
17
# 示例(使用前记得进行相应的引用)
18
18
19
## 以下是一些使用XFE各类拓展的示例:
19
---
20
20
21
### XFE的ChatGPT使用示例
21
## XFE的ChatGPT使用示例
22
22
23
23
#### 最简单的用法
24
24
@@ -101,7 +101,9 @@ var askContent = Console.ReadLine();
101
101
memorableXFEChatGPT.AskChatGPT("新的对话ID", Guid.NewGuid().ToString(), askContent);
102
102
```
103
103
104
### IO流拓展操作示例
104
---
105
106
## IO流拓展操作示例
105
107
106
108
```csharp
107
109
// 使用XFEExtension来简化文件读取/写入操作
@@ -109,7 +111,9 @@ memorableXFEChatGPT.AskChatGPT("新的对话ID", Guid.NewGuid().ToString(), askC
109
111
string txt = "test.txt".ReadOut();
110
112
```
111
113
112
### XEA加密算法示例
114
---
115
116
## XEA加密算法示例
113
117
114
118
```csharp
115
119
// 使用XFE各类拓展来进行加密操作
@@ -121,14 +125,18 @@ Console.WriteLine("加密内容:" + encrypt);
121
125
Console.WriteLine("解密内容:" + encrypt.XEADecrypt(password));//解密
122
126
```
123
127
124
### 特性操作示例
128
---
129
130
## 特性操作示例
125
131
126
132
```csharp
127
133
// 使用XFE各类拓展来简化特性读取操作
128
134
string str = testObject.GetAttribute<string>();
129
135
```
130
136
131
### 使用XUnit测试框架
137
---
138
139
## 使用XUnit测试框架
132
140
133
141
```csharp
134
142
[CTest]
@@ -149,8 +157,120 @@ public class Program : XFECode
149
157
}
150
158
```
151
159
152
### 快速搭建网络通讯服务器
160
---
161
162
## 快速搭建网络通讯服务器
163
164
```csharp
165
public class CustomServer
166
{
167
CyberCommServer CyberCommServer { get; } = new("http://127.0.0.1:19019/");
168
public async Task StartServer()
169
{
170
CyberCommServer.ServerStarted += CyberCommServer_ServerStarted;
171
CyberCommServer.ConnectionClosed += CyberCommServer_ConnectionClosed;
172
CyberCommServer.ClientConnected += CyberCommServer_ClientConnected;
173
CyberCommServer.MessageReceived += CyberCommServer_MessageReceived;
174
await CyberCommServer.StartCyberCommServer();
175
}
176
177
private void CyberCommServer_MessageReceived(object? sender, CyberCommServerEventArgs e)
178
{
179
e.ReplyMessage("服务器已接收消息");
180
Console.WriteLine($"收到客户端[{e.IpAddress}]消息:{e.TextMessage}");//明文传输实例
181
}
182
183
private void CyberCommServer_ClientConnected(object? sender, CyberCommServerEventArgs e)
184
{
185
Console.WriteLine($"新客户端连接:{e.IpAddress}");
186
}
187
188
private void CyberCommServer_ConnectionClosed(object? sender, CyberCommServerEventArgs e)
189
{
190
Console.WriteLine($"客户端[{e.IpAddress}]断开连接");
191
}
192
193
private void CyberCommServer_ServerStarted(object? sender, EventArgs e)
194
{
195
Console.WriteLine("服务器已启动");
196
}
197
}
198
```
199
200
---
201
202
## 快速搭建网络通讯客户端
203
204
```csharp
205
public class CustomClient
206
{
207
CyberCommClient CyberCommClient { get; } = new("http://127.0.0.1:19019/");
208
public async Task StartClient()
209
{
210
CyberCommClient.Connected += CyberCommClient_Connected;
211
CyberCommClient.ConnectionClosed += CyberCommClient_ConnectionClosed;
212
CyberCommClient.MessageReceived += CyberCommClient_MessageReceived;
213
await CyberCommClient.StartCyberCommClient();
214
}
215
216
private void CyberCommClient_MessageReceived(object? sender, CyberCommClientEventArgs e)
217
{
218
Console.WriteLine($"收到消息:{e.TextMessage}");//接收明文消息
219
//此处可以进行消息回复
220
//e.ReplyMessage();
221
}
222
223
private void CyberCommClient_ConnectionClosed(object? sender, EventArgs e)
224
{
225
Console.WriteLine("与服务器断开连接");
226
}
227
228
private void CyberCommClient_Connected(object? sender, EventArgs e)
229
{
230
Console.WriteLine("已连接到服务器");
231
CyberCommClient.SendTextMessage("这是一条测试消息");//以明文消息为示例
232
}
233
}
234
```
235
236
---
237
238
## 使用XCC网络通讯API接口快速搭建聊天室
153
239
154
240
```csharp
241
XCCNetWork xCCNetWork = new();//创建XCC网络通讯基础
242
var group = xCCNetWork.CreateGroup("测试群组", "测试人员");//创建网络通讯中的群组,输入群组名,群内名称
243
#region 订阅事件
244
xCCNetWork.Connected += (sender, e) =>
245
{
246
Console.WriteLine($"群组:{e.Group.GroupId}\t连接成功");
247
group.SendTextMessage("测试消息");
248
};
249
xCCNetWork.ConnectionClosed += (sender, e) =>
250
{
251
Console.WriteLine($"群组:{e.Group.GroupId}\t断开连接");
252
};
253
xCCNetWork.TextMessageReceived += (sender, e) =>
254
{
255
Console.WriteLine($"群组:{e.Group.GroupId}\t收到文本消息:{e.TextMessage}");
256
};
257
#endregion
258
await group.StartXCC();//启动该群组的网络通讯
259
```
155
260
261
---
262
263
## 使用XFE下载器下载文件(支持继续上次下载等操作)
264
265
```csharp
266
XFEDownloader xFEDownloader = new()
267
{
268
DownloadUrl = "https://www.nuget.org/api/v2/package/XFE%E5%90%84%E7%B1%BB%E6%8B%93%E5%B1%95.NetCore/1.2.2",
269
SavePath = "XFE各类拓展.NetCore.nuget"
270
};
271
xFEDownloader.BufferDownloaded += (sender, e) =>
272
{
273
Console.WriteLine($"进度:{e.DownloadedBufferSize.FileSize()}/{e.TotalBufferSize?.FileSize()}");
274
};
275
await xFEDownloader.Download();
156
276
```