SharpLibEar/Object.cs
changeset 243 cc2251d065db
parent 239 dd7770b97916
child 244 2e4d2558bb21
     1.1 --- a/SharpLibEar/Object.cs	Thu Aug 18 20:14:30 2016 +0200
     1.2 +++ b/SharpLibEar/Object.cs	Fri Aug 19 17:12:54 2016 +0200
     1.3 @@ -21,6 +21,33 @@
     1.4      [KnownType("DerivedTypes")]
     1.5      public abstract class Object: IComparable
     1.6      {
     1.7 +        private bool iConstructed = false;
     1.8 +
     1.9 +        public Object()
    1.10 +        {
    1.11 +            Construct();
    1.12 +        }
    1.13 +
    1.14 +        /// <summary>
    1.15 +        /// Needed as our constructor is not called following internalization.
    1.16 +        /// </summary>
    1.17 +        public void Construct()
    1.18 +        {
    1.19 +            if (!iConstructed)
    1.20 +            {
    1.21 +                DoConstruct();
    1.22 +                iConstructed = true;
    1.23 +            }
    1.24 +        }
    1.25 +
    1.26 +        /// <summary>
    1.27 +        /// 
    1.28 +        /// </summary>
    1.29 +        protected virtual void DoConstruct()
    1.30 +        {
    1.31 +
    1.32 +        }
    1.33 +
    1.34          /// <summary>
    1.35          /// Static object name.
    1.36          /// </summary>