Ejemplo n.º 1
0
 protected IntOrStr(SerializationInfo info, StreamingContext context)
 {
     guidForHash          = info.GetValue <Guid>(nameof(guidForHash));
     numValue             = info.GetInt32(nameof(numValue));
     strValue             = info.GetValue <string>(nameof(strValue));
     InstanceIntOrStrType = IntOrStrType.FromId(info.GetValue <string>(nameof(InstanceIntOrStrType)));
 }
Ejemplo n.º 2
0
        /// <summary>
        ///     数値、文字列を引数で与えられたインスタンスの内容で上書きする。
        /// </summary>
        /// <param name="value">設定値</param>
        public void Merge(IntOrStr value)
        {
            if (value.HasInt)
            {
                numValue = value.ToInt();
            }
            if (value.HasStr)
            {
                strValue = value.ToStr();
            }

            if ((HasInt || value.HasInt) && (HasStr || value.HasStr))
            {
                InstanceIntOrStrType = IntOrStrType.IntAndStr;
            }
            else if (HasInt || value.HasInt)
            {
                InstanceIntOrStrType = IntOrStrType.Int;
            }
            else if (HasStr || value.HasStr)
            {
                InstanceIntOrStrType = IntOrStrType.Str;
            }
            else
            {
                InstanceIntOrStrType = IntOrStrType.None;
            }

            NotifyPropertyChanged(NotifyPropertyChangedName);
        }
Ejemplo n.º 3
0
 /// <summary>
 ///     <pre>すでに数値を保有している場合、両方所有状態にする</pre>
 ///     <pre>文字列を保有している場合はその値を上書きする。</pre>
 /// </summary>
 /// <param name="value">設定値</param>
 public void Merge(string value)
 {
     InstanceIntOrStrType = HasInt ? IntOrStrType.IntAndStr : IntOrStrType.Str;
     strValue             = value;
     NotifyPropertyChanged(NotifyPropertyChangedName);
 }
Ejemplo n.º 4
0
 /// <summary>
 ///     <pre>すでに文字列を保有している場合、両方所有状態にする</pre>
 ///     <pre>数値を保有している場合はその値を上書きする。</pre>
 /// </summary>
 /// <param name="value">設定値</param>
 public void Merge(int value)
 {
     InstanceIntOrStrType = HasStr ? IntOrStrType.IntAndStr : IntOrStrType.Int;
     numValue             = value;
     NotifyPropertyChanged(NotifyPropertyChangedName);
 }