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


C# ClassBase.GetMethodRecursively方法代码示例

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


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

示例1: GenerateDeclCommon

        private void GenerateDeclCommon(StreamWriter sw, ClassBase implementor)
        {
            if (IsStatic)
                sw.Write("static ");
            sw.Write (Safety);
            Method dup = null;
            if (container_type != null)
                dup = container_type.GetMethodRecursively (Name);
            if (implementor != null)
                dup = implementor.GetMethodRecursively (Name);

            if (Name == "ToString" && Parameters.Count == 0)
                sw.Write("override ");
            else if (Name == "GetGType" && container_type is ObjectGen)
                sw.Write("new ");
            else if (Modifiers == "new " || (dup != null && ((dup.Signature != null && Signature != null && dup.Signature.ToString() == Signature.ToString()) || (dup.Signature == null && Signature == null))))
                sw.Write("new ");

            if (is_get || is_set) {
                if (retval.IsVoid)
                    sw.Write (Parameters.AccessorReturnType);
                else
                    sw.Write(retval.CSType);
                sw.Write(" ");
                if (Name.StartsWith ("Get") || Name.StartsWith ("Set"))
                    sw.Write (Name.Substring (3));
                else {
                    int dot = Name.LastIndexOf ('.');
                    if (dot != -1 && (Name.Substring (dot + 1, 3) == "Get" || Name.Substring (dot + 1, 3) == "Set"))
                        sw.Write (Name.Substring (0, dot + 1) + Name.Substring (dot + 4));
                    else
                        sw.Write (Name);
                }
                sw.WriteLine(" { ");
            } else if (IsAccessor) {
                sw.Write (Signature.AccessorType + " " + Name + "(" + Signature.AsAccessor + ")");
            } else {
                sw.Write(retval.CSType + " " + Name + "(" + (Signature != null ? Signature.ToString() : "") + ")");
            }
        }
开发者ID:Yetangitu,项目名称:f-spot,代码行数:40,代码来源:Method.cs


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