コード例 #1
0
ファイル: ParentClassLoader.cs プロジェクト: lanicon/nesper
        public Type GetClass(string typeName)
        {
            // See if the type exists in the list of injected types.
            if (_typeMap.TryGetValue(typeName, out var typeValue))
            {
                return(typeValue);
            }

            return(_parent.GetClass(typeName));
        }
コード例 #2
0
ファイル: PriorityClassLoader.cs プロジェクト: lanicon/nesper
        public Type GetClass(string typeName)
        {
            foreach (var priorityAssembly in _priorityAssemblies)
            {
                var priorityType = priorityAssembly.GetType(typeName, false, false);
                if (priorityType != null)
                {
                    return(priorityType);
                }
            }

            return(_parent.GetClass(typeName));
        }
コード例 #3
0
ファイル: JsonEventType.cs プロジェクト: lanicon/nesper
        public void Initialize(ClassLoader classLoader)
        {
            // resolve underlying type
            try {
                _underlyingType = classLoader.GetClass(_detail.UnderlyingClassName);
            }
            catch (TypeLoadException ex) {
                throw new EPException("Failed to load Json underlying class: " + ex.Message, ex);
            }

            // resolve delegate
            try {
                _delegateType = classLoader.GetClass(_detail.DelegateClassName);
                _delegate     = TypeHelper.Instantiate <IJsonDelegate>(_delegateType);
            }
            catch (TypeLoadException e) {
                throw new EPException("Failed to find class: " + e.Message, e);
            }

            // resolve deserializer
            try {
                _deserializerType = classLoader.GetClass(_detail.DeserializerClassName);
                _deserializer     = TypeHelper.Instantiate <IJsonDeserializer>(_deserializerType);
            }
            catch (TypeLoadException e) {
                throw new EPException("Failed to find class: " + e.Message, e);
            }

            // resolve serializer
            try {
                _serializerType = classLoader.GetClass(_detail.SerializerClassName);
                _serializer     = TypeHelper.Instantiate <IJsonSerializer>(_serializerType);
            }
            catch (TypeLoadException e) {
                throw new EPException("Failed to find class: " + e.Message, e);
            }

            //_serializationContext = TypeHelper.Instantiate<JsonSerializationContext>(deserializerFactoryType);
        }