YukkuriMovieMaker.Plugin.SettingsBase`1
Edit on GitHub

Last updated: July 23, 2026

AI 要約

定義

名前空間: YukkuriMovieMaker.Plugin

アセンブリ: YukkuriMovieMaker.Plugin.dll

プラグイン設定の基底クラスです。JSON形式での自動保存・読み込みを提供します。

public abstract class SettingsBase<T> : ValidatableBindable, ISetting where T : class, ISetting, new()

継承 System.Object → YukkuriMovieMaker.Commons.ValidatableBindable → YukkuriMovieMaker.Commons.ValidatableBindable → YukkuriMovieMaker.Plugin.SettingsBase`1

実装 YukkuriMovieMaker.Plugin.ISetting

注釈

T には自クラスを指定するCRTPパターンを使います(例: class MySettings : SettingsBase<MySettings>)。

設定ファイルの保存パスはYMM4のバージョンを含むディレクトリ({設定ディレクトリ}/{バージョン}/{型の完全修飾名}.json)です。 古いバージョンの設定ファイルは最大10世代まで保持され、起動時に最新のものを読み込みます。

[JsonIgnore] を付与しないパブリックプロパティーが保存対象になります。 設定値の変更通知とUndo/Redo登録には Set メソッドを使用してください。

プロパティーの変更検知にはINotifyPropertyChangedが使われますが、設定クラスではUndo/Redoは不要なため、 Set を呼び出すだけで十分です。

メソッド

Save

現在の設定値をJSONファイルに保存します。

public virtual void Save()

戻り値

System.Void

注釈

保存前に既存ファイルを .bak としてバックアップします。 保存に失敗した場合は例外をスローせずログに記録します。 古いバージョンのディレクトリは10世代を超えると削除されます。

プロパティー

名前 説明
Default T この設定クラスのシングルトンインスタンスを取得します。

Default

この設定クラスのシングルトンインスタンスを取得します。

[JsonIgnore]
public static T Default { get; }

プロパティー値

T

注釈

静的コンストラクターでJSONファイルからロードされます。 ファイルが存在しない場合は新規インスタンスが生成され、Initialize() が呼ばれます。