コード例 #1
0
        public object GiveObjectById(string id)
        {
            object instance = instanceMappings[id];

            if (instance == null)
            {
                DecoratedType decoratedType = (DecoratedType)implementationMappings[id];

                if (decoratedType == null)
                {
                    throw new ApplicationException("Unknown object key : " + id);
                }
                else
                {
                    return(Instantiate(decoratedType, id));
                }
            }
            else
            {
                DecoratedInstance decoratedInstance = (DecoratedInstance)instance;
                if (decoratedInstance.Decorator != null)
                {
                    return(Instantiate(decoratedInstance.Decorator, id, decoratedInstance.Instance));
                }
                else
                {
                    return(decoratedInstance.Instance);
                }
            }
        }
コード例 #2
0
 public TypeDecoratorable CreateInstanceMapping(string identifier, object instance)
 {
     instanceMappings[identifier] = new DecoratedInstance(instance);
     return (TypeDecoratorable) instanceMappings[identifier];
 }
コード例 #3
0
 public TypeDecoratorable CreateInstanceMapping(string identifier, object instance)
 {
     instanceMappings[identifier] = new DecoratedInstance(instance);
     return((TypeDecoratorable)instanceMappings[identifier]);
 }