فهرست منبع

refactor: Use ReactiveUI.SourceGenerators

Bruce Wayne 5 ماه پیش
والد
کامیت
20c3d2bdbb

+ 2 - 1
Directory.Packages.props

@@ -15,6 +15,7 @@
     <PackageVersion Include="MSTest.TestFramework" Version="3.9.0" />
     <PackageVersion Include="ReactiveMarbles.ObservableEvents.SourceGenerator" Version="1.3.1" />
     <PackageVersion Include="ReactiveUI" Version="20.2.45" />
+    <PackageVersion Include="ReactiveUI.SourceGenerators" Version="2.1.27" />
     <PackageVersion Include="ReactiveUI.WinUI" Version="20.2.45" />
     <PackageVersion Include="ReactiveUI.WPF" Version="20.2.45" />
     <PackageVersion Include="Socks5" Version="1.0.2" />
@@ -22,4 +23,4 @@
     <PackageVersion Include="Volo.Abp.Autofac" Version="9.1.3" />
     <PackageVersion Include="Volo.Abp.Core" Version="9.1.3" />
   </ItemGroup>
-</Project>
+</Project>

+ 16 - 34
src/NatTypeTester.Models/Config.cs

@@ -1,45 +1,27 @@
-using JetBrains.Annotations;
-using ReactiveUI;
-using STUN.Enums;
-using Volo.Abp.DependencyInjection;
-
 namespace NatTypeTester.Models;
 
 [UsedImplicitly]
-public record Config : ReactiveRecord, ISingletonDependency
+public sealed partial class Config : ReactiveObject, ISingletonDependency
 {
-	private string _stunServer = @"stunserver.stunprotocol.org";
-	public string StunServer
+	public Config()
 	{
-		get => _stunServer;
-		set => this.RaiseAndSetIfChanged(ref _stunServer, value);
+		StunServer = @"";
+		ProxyType = ProxyType.Plain;
+		ProxyServer = @"127.0.0.1:1080";
 	}
 
-	private ProxyType _proxyType = ProxyType.Plain;
-	public ProxyType ProxyType
-	{
-		get => _proxyType;
-		set => this.RaiseAndSetIfChanged(ref _proxyType, value);
-	}
+	[Reactive]
+	public partial string StunServer { get; set; }
 
-	private string _proxyServer = @"127.0.0.1:1080";
-	public string ProxyServer
-	{
-		get => _proxyServer;
-		set => this.RaiseAndSetIfChanged(ref _proxyServer, value);
-	}
+	[Reactive]
+	public partial ProxyType ProxyType { get; set; }
 
-	private string? _proxyUser;
-	public string? ProxyUser
-	{
-		get => _proxyUser;
-		set => this.RaiseAndSetIfChanged(ref _proxyUser, value);
-	}
+	[Reactive]
+	public partial string ProxyServer { get; set; }
 
-	private string? _proxyPassword;
-	public string? ProxyPassword
-	{
-		get => _proxyPassword;
-		set => this.RaiseAndSetIfChanged(ref _proxyPassword, value);
-	}
+	[Reactive]
+	public partial string? ProxyUser { get; set; }
+
+	[Reactive]
+	public partial string? ProxyPassword { get; set; }
 }

+ 1 - 0
src/NatTypeTester.Models/NatTypeTester.Models.csproj

@@ -2,6 +2,7 @@
 
   <ItemGroup>
     <PackageReference Include="ReactiveUI" />
+    <PackageReference Include="ReactiveUI.SourceGenerators" PrivateAssets="all" />
     <PackageReference Include="Volo.Abp.Core" />
   </ItemGroup>
 

+ 6 - 3
src/NatTypeTester.Models/NatTypeTesterModelsModule.cs

@@ -1,7 +1,10 @@
-using JetBrains.Annotations;
-using Volo.Abp.Modularity;
+global using Volo.Abp.Modularity;
+global using JetBrains.Annotations;
+global using ReactiveUI;
+global using ReactiveUI.SourceGenerators;
+global using STUN.Enums;
+global using Volo.Abp.DependencyInjection;
 
 namespace NatTypeTester.Models;
 
-[UsedImplicitly]
 public class NatTypeTesterModelsModule : AbpModule;