SimpleYamlConfig 1.3.3
dotnet add package SimpleYamlConfig --version 1.3.3
NuGet\Install-Package SimpleYamlConfig -Version 1.3.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SimpleYamlConfig" Version="1.3.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SimpleYamlConfig --version 1.3.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SimpleYamlConfig, 1.3.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SimpleYamlConfig as a Cake Addin #addin nuget:?package=SimpleYamlConfig&version=1.3.3 // Install SimpleYamlConfig as a Cake Tool #tool nuget:?package=SimpleYamlConfig&version=1.3.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
SimpleYamlConfig
SimpleYamlConfig는 YAML 형식의 설정 파일을 쉽게 관리할 수 있게 해주는 제네릭 클래스 입니다.
특징
- YAML 파일을 자동으로 로드하고 저장합니다.
- 설정 파일이 없을 경우 기본 설정으로 새 파일을 생성합니다.
- 제네릭을 사용하여 다양한 설정 클래스에 적용할 수 있습니다.
주의사항
- 설정 파일이 존재하지 않으면 기본값으로 새 파일이 생성됩니다.
- Save() 메서드를 호출하지 않으면 변경사항이 파일에 저장되지 않습니다.
- YAML 파일의 키 이름은 프로퍼티 이름과 일치해야 합니다 (대소문자 구분 없음).
- YamlConfig<TClass>를 상속받은 객체의 설정파일 이름은 configPath를 설정하지 않은 경우 {TClass}의 이름입니다.
사용 방법
1. 설정 클래스 정의
먼저, YamlConfig<T>를 상속받는 설정 클래스를 정의합니다:
public class MyConfig(string? configPath = null) : YamlConfig<MyConfig>(configPath)
{
[YamlMember(Alias = "name")]
public string? Name { get; set; }
[YamlMember(Alias = "age")]
public int Age { get; set; }
[YamlMember(Alias = "myType")]
public MyEnum MyType { get; set; }
}
// 또는 현재 실행 경로에서 설정파일 불러오기 (./MyConfig.yaml)
public class MyConfig : YamlConfig<MyConfig>
{
[YamlMember(Alias = "name")]
public string? Name { get; set; }
[YamlMember(Alias = "age")]
public int Age { get; set; }
[YamlMember(Alias = "myType")]
public MyEnum MyType { get; set; }
}
2. 설정 객체 생성
// 기본 경로로 설정 파일 로드 (MyConfig.yaml)
var config = new MyConfig();
// 또는 사용자 지정 경로 사용
var customConfig = new MyConfig("path/to/custom/config.yaml");
3. 설정 값 읽기
Console.WriteLine(config.Name);
4. 설정 값 변경 및 저장
config.Name = "Mr.Kim";
// 변경된 설정 저장
config.Save();
5. 설정 값 다시 불러오기
config.Name = "Mr.Kim"
config.Save();
/* 변경된 설정 값 다시 불러오기
이 경우는, 일반적으로 외부에서 설정파일이 변경 되었을 때 호출함 */
config.Load();
6. 다른 경로로 설정 저장
config.SaveAs("path/to/new/config.yaml");
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- YamlDotNet (>= 16.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.