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


C# IMember.ToString方法代码示例

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


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

示例1: MemberFindAstVisitor

 public MemberFindAstVisitor(IMember member)
 {
     if (member == null) {
         throw new ArgumentNullException("member");
     }
     if (member.Region.IsEmpty) {
         throw new ArgumentException("Cannot find this member because its region is empty."+Environment.NewLine+"member: '"+member.ToString()+"'", "member");
     }
     this.memberToFind = member;
 }
开发者ID:2594636985,项目名称:SharpDevelop,代码行数:10,代码来源:MemberFindAstVisitor.cs

示例2: GetOverloadName

        protected virtual string GetOverloadName(IMember definition)
        {
            string name = this.Emitter.GetEntityName(definition, this.CancelChangeCase);
            if (name.StartsWith(".ctor"))
            {
                name = "constructor";
            }

            var attr = this.Emitter.GetAttribute(definition.Attributes, "Bridge.NameAttribute");

            if (attr == null && definition is IProperty)
            {
                var prop = (IProperty)definition;
                var acceessor = this.IsSetter ? prop.Setter : prop.Getter;

                if (acceessor != null)
                {
                    attr = this.Emitter.GetAttribute(acceessor.Attributes, "Bridge.NameAttribute");
                }
            }

            if (attr != null || (definition.DeclaringTypeDefinition != null && definition.DeclaringTypeDefinition.Kind != TypeKind.Interface && this.Emitter.Validator.IsIgnoreType(definition.DeclaringTypeDefinition)))
            {
                return name;
            }

            if (definition is IMethod && ((IMethod)definition).IsConstructor)
            {
                name = "constructor";
            }

            var index = this.GetIndex(definition);

            if (index > 0)
            {
                name += "$" + index;

                if (name.StartsWith("$"))
                {
                    name = name.Substring(1);
                }
            }

            if (definition.ImplementedInterfaceMembers.Count > 0)
            {
                foreach (var iMember in definition.ImplementedInterfaceMembers)
                {
                    if (OverloadsCollection.Create(this.Emitter, iMember, false, true).GetOverloadName() != name)
                    {
                        string message = "Cannot translate interface ({2}) member '{0}' in '{1}' due name conflicts. Please rename methods or refactor your code";
                        throw new Exception(string.Format(message, definition.ToString(), definition.DeclaringType.ToString(), iMember.DeclaringType.ToString()));
                    }
                }
            }

            return name;
        }
开发者ID:GavinHwa,项目名称:Bridge,代码行数:57,代码来源:OverloadsCollection.cs


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