namespace Aiwaz.Contracts { public class Reference { public Reference(object inValue) { this.RawValue = inValue; } public Reference() { } public object RawValue { get; set; } } public class ReferenceT : Reference { public ReferenceT(T inValue) { this.RawValue = inValue; } public ReferenceT() { } public T Value { get { return (T)this.RawValue; } set { this.RawValue = value; } } } }