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


C# Boo.Add方法代码示例

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


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

示例1: ResolveModuleMember

        bool ResolveModuleMember(Boo.Lang.List targetList, string name, EntityType flags)
        {
            bool found = false;
            foreach (TypeMember member in _module.Members)
            {
                if (name != member.Name) continue;

                IEntity entity = _typeSystemServices.GetMemberEntity(member);
                if (NameResolutionService.IsFlagSet(flags, entity.EntityType))
                {
                    targetList.Add(entity);
                    found = true;
                }
            }
            return found;
        }
开发者ID:boo,项目名称:boo-lang,代码行数:16,代码来源:ModuleEntity.cs

示例2: ResolveBaseTypes

        void ResolveBaseTypes(Boo.Lang.List visited, TypeDefinition node)
        {
            // If type is generic, enter a special namespace to allow
            // correct resolution of generic parameters
            IType type = (IType)TypeSystemServices.GetEntity(node);
            if (type.GenericInfo != null)
            {
                EnterNamespace(new GenericParametersNamespaceExtender(
                    type, NameResolutionService.CurrentNamespace));
            }

            visited.Add(node);

            Boo.Lang.List visitedNonInterfaces = null;
            Boo.Lang.List visitedInterfaces = null;

            if (node is InterfaceDefinition)
            {
                visitedInterfaces = visited;
                // interfaces won't have noninterface base types so visitedNonInterfaces not necessary here
            }
            else
            {
                visitedNonInterfaces = visited;
                visitedInterfaces = new Boo.Lang.List();
            }

            int removed = 0;
            int index = 0;
            foreach (SimpleTypeReference baseType in node.BaseTypes.ToArray())
            {
                NameResolutionService.ResolveSimpleTypeReference(baseType);

                AbstractInternalType internalType = baseType.Entity as AbstractInternalType;
                if (null != internalType)
                {
                    if (internalType is InternalInterface)
                    {
                        if (visitedInterfaces.Contains(internalType.TypeDefinition))
                        {
                            Error(CompilerErrorFactory.InheritanceCycle(baseType, internalType.FullName));
                            node.BaseTypes.RemoveAt(index - removed);
                            ++removed;
                        }
                        else
                        {
                            ResolveBaseTypes(visitedInterfaces, internalType.TypeDefinition);
                        }
                    }
                    else
                    {
                        if (visitedNonInterfaces.Contains(internalType.TypeDefinition))
                    {
                        Error(CompilerErrorFactory.InheritanceCycle(baseType, internalType.FullName));
                        node.BaseTypes.RemoveAt(index - removed);
                        ++removed;
                    }
                    else
                    {
                            ResolveBaseTypes(visitedNonInterfaces, internalType.TypeDefinition);
                        }
                    }
                }
                ++index;
            }

            // Leave special namespace if we entered it before
            if (type.GenericInfo != null)
            {
                LeaveNamespace();
            }
        }
开发者ID:boo,项目名称:boo-lang,代码行数:72,代码来源:BindBaseTypes.cs


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