ReactiveMarbles.ObservableEvents.SourceGenerator 1.3.1
dotnet add package ReactiveMarbles.ObservableEvents.SourceGenerator --version 1.3.1
NuGet\Install-Package ReactiveMarbles.ObservableEvents.SourceGenerator -Version 1.3.1
<PackageReference Include="ReactiveMarbles.ObservableEvents.SourceGenerator" Version="1.3.1" />
paket add ReactiveMarbles.ObservableEvents.SourceGenerator --version 1.3.1
#r "nuget: ReactiveMarbles.ObservableEvents.SourceGenerator, 1.3.1"
// Install ReactiveMarbles.ObservableEvents.SourceGenerator as a Cake Addin #addin nuget:?package=ReactiveMarbles.ObservableEvents.SourceGenerator&version=1.3.1 // Install ReactiveMarbles.ObservableEvents.SourceGenerator as a Cake Tool #tool nuget:?package=ReactiveMarbles.ObservableEvents.SourceGenerator&version=1.3.1
<a href="https://github.com/reactivemarbles/observableevents"> <img width="150" src="./images/logo.png"/> </a>
可观察事件生成器
本项目是一个 .NET 源生成器,可生成包含所有基类对象内所有事件的 IObservable<T>
。ObservableEvents
生成器会将程序集内的事件转换为观察者包装器,它基于 Pharmacist 并使用了 .NET 源生成器 技术。
NuGet 包
确保您的项目在 CSPROJ 内使用较新的 PackageReference
。旧样式存在缺陷且应避免使用。有关如何 升级 的讨论,请参阅此处。
安装以下包以开始使用可观察事件。
名称 | 平台 | NuGet |
---|---|---|
ReactiveMarbles.ObservableEvents.SourceGenerator | 核心 - 库 |
手动安装
在您的 .csproj 文件中包含以下内容
<PackageReference
Include="ReactiveMarbles.ObservableEvents.SourceGenerator"
Version="1.0.2"
PrivateAssets="all" />
PrivateAssets
将阻止 ObservableEvents 源生成器被其他项目继承。
如何使用
基于实例
它在一个类中注入用于基于实例的事件的类到您的源代码中,这将暴露一个名为 Events()
的扩展方法。您需要包含命名空间 ReactiveMarbles.ObservableEvents
来访问扩展方法。您可以使用此方法从您的事件中获取 IObservable<T>
实例。
using ReactiveMarbles.ObservableEvents;
public void MyClass : INotifyPropertyChanged
{
// Assumes this belong in a class with a event called PropertyChanged.
public void RunEvents()
{
this.Events().PropertyChanged.Subscribe(x => Console.WriteLine($"The {x} property has changed"));
}
public event PropertyChangedEventHandler PropertyChanged;
}
静态事件
您必须在特定类的程序集级别上包含一个 GenerateStaticEventObservables
属性。这将生成与指定类同一命名空间中的类 RxEvents
。
[assembly: GenerateStaticEventObservablesAttribute(typeof(StaticTest))]
public static class StaticTest
{
public static event EventHandler? TestChanged;
}
-
.NETStandard 2.0
- 无依赖。
NuGet 包 (3)
显示依赖 ReactiveMarbles.ObservableEvents.SourceGenerator 的前 3 个 NuGet 包
包 | 下载 |
---|---|
CrissCross.WPF.UI
ReactiveUI 的响应式导航框架 |
|
SignalRChatClient
Microsoft.AspNetCore.SignalR.Client 库的扩展 |
|
RxUIExt.WinUI
RxUIExt 的 WinUI 扩展和工具 |
GitHub 仓库 (7)
显示依赖 ReactiveMarbles.ObservableEvents.SourceGenerator 的前 5 个最受欢迎的 GitHub 仓库
仓库 | 星标 |
---|---|
gui-cs/Terminal.Gui
.NET 的跨平台终端 UI 工具包
|
|
HMBSbige/NatTypeTester
测试当前网络的 NAT 类型(STUN)
|
|
database64128/youtube-dl-wpf
youtube-dl 和 yt-dlp 的简单 GUI 包装
|
|
HMBSbige/BilibiliLiveRecordDownLoader
Bilibili 直播录制
|
|
reactiveui/Camelotia
Cross-platform sample .NET GUI for cloud file management.
|