그래서 나는 여기 Catel '시작하기'예제를 통해 해결하려고 노력 해요 :문제 - /에서 디스크에 직렬화 데이터
https://catelproject.atlassian.net/wiki/display/CTL/Getting+started+with+WPF
을하지만 시각적 스튜디오에서 몇 가지 오류를 받고 있어요 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);
}
}
}
비주얼 스튜디오 후 2 오류 및 경고 발생 :
을 오류 CS0619 'SavableModelBase.Load (Stream, SerializationMode)'는 사용되지 않습니다. '를 사용하십시오.대신. 버전 5.0.0에서 이 제거됩니다. '
오류 CS0619 'SavableModelBase.Save (string, 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'이란 무엇이며 어떻게 구현합니까? 나는 명백한 것을 놓치고 있는가?
설정은 다음과 같습니다
- 비주얼 스튜디오 2015 커뮤니티 (14.0.25425.01 업데이트 3)
- 프로젝트 목표 4.5.2
- 프로젝트 Catel 사용하여 새> 온라인> WPF 응용 프로그램을 사용하여 초기화 .NET
- NuGet :
- Catel.Core 4.5.3
- Catel.Extensio 어떤 도움이 많이 주시면 감사하겠습니다 2.14.0
ns.Controls 4.5.3
글쎄, 그것은 쉽게, 많은 감사했다. – Asnivor