System.Variant.Variant C# (CSharp) Method

Variant() public method

public Variant ( Object obj ) : System
obj Object
return System
        public Variant(Object obj) {
            m_data1=0;
            m_data2=0;

            VarEnum vt = VarEnum.VT_EMPTY;

            if (obj is DateTime) {
                m_objref=null;
                m_flags=CV_DATETIME;
                ulong ticks = (ulong)((DateTime)obj).Ticks;
                m_data1 = (int)ticks;
                m_data2 = (int)(ticks>>32);
                return;
            }

            if (obj is String) {
                m_flags=CV_STRING;
                m_objref=obj;
                return;
            }

            if (obj == null) {
                this = Empty;
                return;
            }
            if (obj == System.DBNull.Value) {
                this = DBNull;
                return;
            }
            if (obj == Type.Missing) {
                this = Missing;
                return;
            }

            if (obj is Array) {
                m_flags=CV_OBJECT | ArrayBitMask;
                m_objref=obj;
                return;
            }

            // Compiler appeasement
            m_flags = CV_EMPTY;
            m_objref = null;


            if (obj != null)
            {
                SetFieldsObject(obj);
            }

            // If the object passed in is one of the wrappers then set the VARIANT type.
            if (vt != VarEnum.VT_EMPTY)
                m_flags |= ((int)vt << VTBitShift);
        }

Same methods

Variant::Variant ( ) : System
Variant::Variant ( System.DateTime val ) : System
Variant::Variant ( Decimal val ) : System
Variant::Variant ( bool val ) : System
Variant::Variant ( byte val ) : System
Variant::Variant ( char val ) : System
Variant::Variant ( double val ) : System
Variant::Variant ( float val ) : System
Variant::Variant ( int val ) : System
Variant::Variant ( int flags, Object or, int data1, int data2 ) : System
Variant::Variant ( long val ) : System
Variant::Variant ( sbyte val ) : System
Variant::Variant ( short val ) : System
Variant::Variant ( uint val ) : System
Variant::Variant ( ulong val ) : System
Variant::Variant ( ushort val ) : System
Variant::Variant ( void voidPointer, Type pointerType ) : System