からシリアル化データは、だから私はここにCatel「入門」例を挙げて動作するようにしようとしていますステップ3(データのディスクへのシリアライズ) - https://catelproject.atlassian.net/wiki/pages/viewpage.action?pageId=15630363問題/ディスクへ
「設定」という名前の「トップコンテナ」モデルと、「グローバル」という名前の「子クラス」を作成します(このチュートリアルとほぼ同じですが、少ないプロパティと異なるモデル名のため)。
私は一例に基づいてインターフェイスを作成します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using App.Models;
namespace App.Services.Interfaces
{
public interface IGlobalService
{
IEnumerable<Global> LoadGlobals();
void SaveGlobals(IEnumerable<Global> globals);
}
}
それから私は、サービスの実装を作成します。
:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using Catel.Collections; using Catel.Data; using App.Models; using App.Services.Interfaces; namespace App.Services { public class GlobalService : IGlobalService { private readonly string _path; public GlobalService() { string directory = Catel.IO.Path.GetApplicationDataDirectory("CatenaLogic", "WPF.GettingStarted"); _path = Path.Combine(directory, "global.xml"); } public IEnumerable<Global> LoadGlobals() { if (!File.Exists(_path)) { return new Global[] { }; } using (var fileStream = File.Open(_path, FileMode.Open)) { var settings = Settings.Load(fileStream, SerializationMode.Xml); return settings.Globals; } } public void SaveGlobals(IEnumerable<Global> globals) { var settings = new Settings(); settings.Globals.ReplaceRange(globals); settings.Save(_path, SerializationMode.Xml); } } }
Visual Studioは、その後、2つのエラーや警告をスローしますエラーCS0619 'SavableModelBase.Load(Stream、 SerializationMode)'は廃止されました: 'を使用してください代わりに。バージョン 5.0.0で削除された '
エラーCS0619 'SavableModelBase.Save(文字列、 SerializationMode)'は廃止されました: '代わりに
Save(string, SerializationMode, ISerializationConfiguration)
を使用してください。バージョン5.0.0では が削除されます。 '警告CS0618 'CollectionExtensions.ReplaceRange(ObservableCollection、ObservableCollection、ObservableCollection、 IEnumerable)'は廃止されました: '
ReplaceRange(this ICollection<T>, IEnumerable<T>)
を代わりに使用してください。バージョン5.0.0以降のエラー として処理されます。バージョン5.0.0で削除されます。
これまで私が行ったすべての研究は空白になっています。 'ISerializationConfiguration'とは何ですか?どのように実装しますか?私は明白な何かを欠いていますか
セットアップは次のとおりです。
- のVisual Studio 2015コミュニティ(14.0.25425.01アップデート3)
- プロジェクトのターゲット.NET 4.5.2
- プロジェクトがCatel を使用して[新規作成]> [オンライン> WPFアプリケーションを使用して初期化
- NuGet:
- Catel.Core 4.5.3
- Catel.Extensio ns.Controls 4.5.3
- Catel.MVVM 4.5.3
- Catel.Fody 2.14.0
任意の助けもいただければ幸いです。エラー/警告で指定され
まあ、それは簡単で、多くのおかげでした。 – Asnivor