/// <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);
Exemple #2
0
#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);
        }