MBrendecke icon

SColor

MBrendecke | PRO | 02/07/16 07:57:06 AM UTC | 0 ⭐ | 519 👁️ | Never ⏰ | []
C# |

1.56 KB

|

None

|

0 👍

/

0 👎

using System.ComponentModel;
using System.Runtime.Serialization;
using System.Xml;
using System.Xml.Serialization;
 
namespace System.Drawing
{
    [Serializable]
    public class SColor : ISerializable
    {
        #region Eigenschaften
 
        [XmlIgnore]
        public Color Color { get; set; }
 
        [Browsable(false)]
        [XmlElement]
        public int XmlColor {
            get { return Color != Color.Empty ? Color.ToArgb() : 0; }
            set { Color = Color.FromArgb(value); }
        }
 
        #endregion Eigenschaften
 
        #region Konstruktoren
 
        public SColor()
        {
            Color = Color.Empty;
        }
 
        public SColor(Color color)
        {
            Color = color;
        }
 
        public SColor(SerializationInfo info, StreamingContext context)
        {
            Color = Color.FromArgb((int)info.GetValue(nameof(XmlColor), typeof(int)));
        }
 
        #endregion Konstruktoren
 
        #region ISerializable
 
        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            info.AddValue(nameof(XmlColor), Color.ToArgb());
        }
 
        #endregion ISerializable
 
        #region Implizite Konvertierung
 
        public static implicit operator Color(SColor color)
        {
            return color != null ? color.Color : Color.Empty;
        }
 
        public static implicit operator SColor(Color color)
        {
            return new SColor(color);
        }
 
        #endregion Implizite Konvertierung
    }
}

Comments