Beispiel #1
0
        // ReSharper restore StaticFieldInGenericType

        static CsvMarketDataSerializer()
        {
            _timeFormat = GetTimeFormat();

            if (typeof(TData) == typeof(ExecutionMessage) || typeof(TData).IsSubclassOf(typeof(CandleMessage)))
            {
                _setSecurityId = MemberProxy.Create(typeof(TData), "SecurityId");
            }

            if (typeof(TData) == typeof(ExecutionMessage))
            {
                _setExecutionType = MemberProxy.Create(typeof(TData), "ExecutionType");
            }

            _ctor = FastInvoker <VoidType, VoidType, TData> .Create(typeof(TData).GetMember <ConstructorInfo>());

            _dateMember = MemberProxy.Create(typeof(TData),
                                             typeof(TData).IsSubclassOf(typeof(CandleMessage)) ? "OpenTime" : "ServerTime");
        }
        // ReSharper restore StaticFieldInGenericType

        static CsvMarketDataSerializer()
        {
            var isCandles = typeof(TData).IsCandleMessage();

            if (typeof(TData) == typeof(ExecutionMessage) || isCandles)
            {
                _setSecurityId = MemberProxy.Create(typeof(TData), "SecurityId");
            }

            if (typeof(TData) == typeof(ExecutionMessage))
            {
                _setExecutionType = MemberProxy.Create(typeof(TData), "ExecutionType");
            }

            if (isCandles)
            {
                _setCandleArg = MemberProxy.Create(typeof(TData), "Arg");
            }

            _ctor = FastInvoker <VoidType, VoidType, TData> .Create(typeof(TData).GetMember <ConstructorInfo>());

            _dateMember = MemberProxy.Create(typeof(TData), isCandles ? "OpenTime" : "ServerTime");
        }