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                
#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                

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 已计算。
兼容的目标框架(s)
包含的目标框架(s)(在包中)
了解有关 目标框架.NET Standard 的更多信息。

NuGet 包

此包未被任何 NuGet 包使用。

GitHub 代码库

此包未被任何流行的 GitHub 代码库使用。

版本 下载 最后更新
0.1.0 985 4/24/2018

第一个版本