/// <summary> /// <see cref="System.Runtime.Serialization.SerializationInfo"/>から値を取得します。 /// </summary> /// <typeparam name="T">取得する値の型です。</typeparam> /// <param name="info">値が保存されているストアです。</param> /// <param name="name">取得する値の名前です。</param> /// <returns> /// <paramref name="info"/>が保持する<paramref name="name"/>を名前に持つ<typeparamref name="T"/>に変換された値です。 /// </returns> /// <exception cref="System.ArgumentNullException"> /// <paramref name="info"/>または<paramref name="name"/>が<see langword="null"/>に設定されています。 /// </exception> /// <exception cref="System.InvalidCastException"> /// 取得した値を型<typeparamref name="T"/>に変換する事ができません。 /// </exception> /// <exception cref="System.Runtime.Serialization.SerializationException" /> public static T?GetValue <T>(this SerializationInfo info, string name) { info.EnsureNotNull(nameof(info)); name.EnsureNotNull(nameof(name)); try { object?result = info.GetValue(name, typeof(T)); if (result is null) { return(default);
#pragma warning restore TakymLib_PathString_ctor // 型またはメンバーが旧型式です /// <summary> /// 現在のパス文字列を直列化します。 /// </summary> /// <param name="info">直列化されたデータを含むオブジェクトです。</param> /// <param name="context">ストリームの転送先または転送元に関する文脈情報です。</param> /// <exception cref="System.ArgumentNullException"/> /// <exception cref="System.Runtime.Serialization.SerializationException"/> public void GetObjectData(SerializationInfo info, StreamingContext context) { info.EnsureNotNull(nameof(info)); info.AddValue("_", _org_path); }