当前位置: 首页>>代码示例>>C#>>正文


C# RootObjectDefinition.PrepareMethodOverrides方法代码示例

本文整理汇总了C#中Spring.Objects.Factory.Support.RootObjectDefinition.PrepareMethodOverrides方法的典型用法代码示例。如果您正苦于以下问题:C# RootObjectDefinition.PrepareMethodOverrides方法的具体用法?C# RootObjectDefinition.PrepareMethodOverrides怎么用?C# RootObjectDefinition.PrepareMethodOverrides使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Spring.Objects.Factory.Support.RootObjectDefinition的用法示例。


在下文中一共展示了RootObjectDefinition.PrepareMethodOverrides方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: InstantiateObject


//.........这里部分代码省略.........
        /// definition in case of a child definition.
        /// </p>
        /// <p>
        /// All the other methods in this class invoke this method, although objects
        /// may be cached after being instantiated by this method. All object
        /// instantiation within this class is performed by this method.
        /// </p>
        /// </remarks>
        protected internal override object InstantiateObject(string name, RootObjectDefinition definition, object[] arguments, bool allowEagerCaching, bool suppressConfigure)
        {
            // guarantee the initialization of objects that the current one depends on..
            if (definition.DependsOn != null && definition.DependsOn.Length > 0)
            {
                foreach (string dependant in definition.DependsOn)
                {
                    GetObject(dependant);
                }
            }

            #region Instrumentation

            if (log.IsDebugEnabled)
            {
                log.Debug(string.Format(CultureInfo.InvariantCulture, "Creating instance of Object '{0}' with merged definition [{1}].", name, definition));
            }

            #endregion

            // Make sure object type is actually resolved at this point.
            ResolveObjectType(definition, name);

            try
            {
                definition.PrepareMethodOverrides();
            }
            catch (ObjectDefinitionValidationException ex)
            {
                throw new ObjectDefinitionStoreException(definition.ResourceDescription, name,
                                                         "Validation of method overrides failed.  " + ex.Message, ex);
            }

            // return IObjectDefinition instance itself for an abstract object-definition
            if (definition.IsTemplate)
            {
                return definition;
            }



            object instance = null;


            IObjectWrapper instanceWrapper = null;
            bool eagerlyCached = false;
            try
            {
                // Give IInstantiationAwareObjectPostProcessors a chance to return a proxy instead of the target instance....
                if (definition.HasObjectType)
                {
                    instance = ApplyObjectPostProcessorsBeforeInstantiation(definition.ObjectType, name);
                    if (instance != null)
                    {
                        return instance;
                    }
                }
开发者ID:hazzik,项目名称:nh-contrib-everything,代码行数:66,代码来源:AbstractAutowireCapableObjectFactory.cs


注:本文中的Spring.Objects.Factory.Support.RootObjectDefinition.PrepareMethodOverrides方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。