현재 Windows Store 및 Xamarin 환경을 대상으로하는 교차 플랫폼 C# 응용 프로그램 개발자입니다. 공유 라이브러리 (PCL)는 모든 애플리케이션에서 참조하며, 여기에는 스토리지, 네트워킹, 데이터베이스 및 설정을 비롯한 핵심 애플리케이션 로직과 알고리즘을 정의합니다.C# PCL 설정을 저장하는 가장 좋은 방법은 무엇입니까
내가 필요한 설정을 저장하는 더 똑똑한 방법입니다. 이러한 방법이 완전히 구식으로 나는 다음이 C#으로 쉽게 가능하며, 모든 키와 값의 방법이나 XML 파일을 사용하지 않습니다
[SettingsNode("app_settings")]
class AppSettings
{
public double SomeNumber;
public object SomeSerializable;
public byte[] SomeBytes;
[SettingsNode("custom_setting_name")]//just specifying XML/etc node name with SettingsNode attribute
public string SomeKey;
}
class x
{
void y()
{
AppSettings superSettingsSolution = Engine.LoadEntry<AppSettings>("test.xml");
superSettingsSolution.SomeBytes = new byte[10];
superSettingsSolution.SomeNumber = 4.6d;
superSettingsSolution.SomeSerializable = new object();//[Serializable] class
Engine.SaveEntry<AppSettings>("test.xml", superSettingsSolution);
}
}
내가 크로스 플랫폼 저장 PCLStorage 패키지를 사용하려고, 그래서 내 코드에서 System.Windows.Storage를 참조하지 않고 싶지 않습니다.
내 질문 : C#의 PCL에 대한 내 코드 예제 라이브러리/프로젝트/패키지와 가까운 것이 있습니까? 나는 사소한 것을 묻는다면 미안하지만, 나는 'portable'/ windows8 프로그래머는 아직 experinced하지 않았다.
"키 값 방식이나 XML 파일은 이러한 방법이 완전히 구식이므로"라고하는 이유는 무엇입니까? –
@ DeblatonJean-Philippe 우리가 검색하고자하는 키 이름으로 문자열을 사용하기 때문에 항상 동일하지만 value라는 코드 요청이 발생할 때마다 문자열 이름이 지정된 매개 변수를 찾고 사용 가능한 모든 키를 열거하고 비교합니다 (+ 시간). 우리는 '네이티브'속성과 클래스 필드를 사용할 수 있습니다. 또한 이름은 변경되지 않으며 코드에서 문자열로 지정할 필요가 없습니다 (대부분의 경우). – Croll
고전적인 XmlSerializer 및 [XmlElement], [XmlAttribute] .. 등의 특성을 사용하여 xml 입/출력을 형성 할 수 있습니다. –