ProtoPersister 0.1.0
dotnet add package ProtoPersister --version 0.1.0
NuGet\Install-Package ProtoPersister -Version 0.1.0
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块版本的 Install-Package。
<PackageReference Include="ProtoPersister" Version="0.1.0" />
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以便引用此包。
paket add ProtoPersister --version 0.1.0
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
#r "nuget: ProtoPersister, 0.1.0"
#r 指令可在 F# Interactive 和 Polyglot Notebooks 中使用。将此复制到交互式工具或脚本的源代码中,以便引用此包。
// Install ProtoPersister as a Cake Addin #addin nuget:?package=ProtoPersister&version=0.1.0 // Install ProtoPersister as a Cake Tool #tool nuget:?package=ProtoPersister&version=0.1.0
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
ProtoPersister
建立在 protobuf-net 之上的持久化框架
基本用法
创建您的类
public class MyDataClass
{
public string Name { get; set; }
public int Age { get; set; }
public DateTime Anniversary { get; set; }
}
设置 ProtoPersister,附加到您的数据类并保存
var persister = new Persister<MyDataClass>(
// the file extension does not matter, you can came up with your own one
new PersisterSettings("C:\\myDataFile.proto")
{
MaxHistorySteps = 100,
// this will allow for undo/redo without notifying ProtoPersister explicitly about changes
TrackChanges = true,
AutoSave = new AutoSaveSettings()
{
AutoSaveFilePath = "C:\\myDataAutoSaveFile.proto",
Enabled = true,
SaveEvery = TimeSpan.FromMinutes(5)
}
}
);
var myDataClass = new MyDataClass() { Name = "Jack", Age = 20, Anniversary = DateTime.Today };
persister.Attach(myDataClass);
// save data
persister.Save();
撤销/重做
myDataClass.Age = 10;
persister.Undo(); // -> now myDataClass = 20
persister.Redo() // -> now myDataClass = 10
使用手动跟踪更改 (TrackChanges = false
)
// change your object
persister.CommitCurrentState("1"); // adds a new version of your class into the history stack
从文件加载数据
var persister = Persister<MyDataClass>.Load(new PersisterSettings("C:\\myDataFile.proto"), "C:\\myDataFile.proto");
var myDataClass = persister.TrackedObject;
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET | .NET 5.0 已计算。 .NET 5.0-win10 已计算。 .NET 6.0 已计算。 .NET 6.0-android 已计算。 .NET 6.0-ios 已计算。 .NET 6.0-maccatalyst 已计算。 .NET 6.0-macos 已计算。 .NET 6.0-tvos 已计算。 .NET 6.0-win10 已计算。 .NET 7.0 已计算。 .NET 7.0-android 已计算。 .NET 7.0-ios 已计算。 .NET 7.0-maccatalyst 已计算。 .NET 7.0-macos 已计算。 .NET 7.0-tvos 已计算。 .NET 7.0-win10 已计算。 .NET 8.0 已计算。 .NET 8.0-android 已计算。 .NET 8.0-browser 已计算。 .NET 8.0-ios 已计算。 .NET 8.0-maccatalyst 已计算。 .NET 8.0-macos 已计算。 .NET 8.0-tvos 已计算。 .NET 8.0-win10 已计算。 |
NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
NET Standard | 具有兼容性 netstandard2.0。 netstandard2.1 已计算。 |
NET Framework | net451 已计算。 net452 已计算。 net453 已计算。 net46 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- protobuf-net (>= 2.3.7)
NuGet 包
此包未被任何 NuGet 包使用。
GitHub 代码库
此包未被任何流行的 GitHub 代码库使用。
版本 | 下载 | 最后更新 |
---|---|---|
0.1.0 | 985 | 4/24/2018 |
第一个版本