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


C# MethodDefinition.GetDexImportBaseInterfaceMethod方法代码示例

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


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

示例1: Include

 /// <summary>
 /// Should the given method be included in the APK?
 /// </summary>
 public bool Include(MethodDefinition method, ReachableContext context)
 {
     if (!method.IsVirtual)
         return false;
     if (method.GetDexImportBaseMethod() != null)
         return true;
     if (method.GetDexImportBaseInterfaceMethod() != null)
         return true;
     return false;
 }
开发者ID:Xtremrules,项目名称:dot42,代码行数:13,代码来源:OverrideFrameworkMethodTester.cs

示例2: GetMethodName

        /// <summary>
        /// Perform name conversion
        /// </summary>
        protected virtual string GetMethodName(MethodDefinition method, DexTargetPackage targetPackage)
        {
            // Handle special names
            switch (method.Name)
            {
                case ".ctor":
                    return "<init>";
                case ".cctor":
                    return "<clinit>";
            }

            // Handle regular names
            // Test for overrides of dex/java imported methods
            var javaBaseMethod = method.GetDexImportBaseMethod() ?? method.GetJavaImportBaseMethod();
            if (javaBaseMethod != null)
            {
                var javaMethodRef = javaBaseMethod.GetReference(targetPackage, compiler.Module);
                return javaMethodRef.Name;
            }

            // Test for overrides of interface methods
            var interfaceJavaBaseMethod = method.GetDexImportBaseInterfaceMethod() ?? method.GetJavaImportBaseInterfaceMethod();
            if (interfaceJavaBaseMethod != null)
            {
                var javaMethodRef = interfaceJavaBaseMethod.GetReference(targetPackage, compiler.Module);
                return javaMethodRef.Name;                
            }

            // If a dex name is specified, use that
            var dexName = method.GetDexNameAttribute();
            if (dexName != null)
            {
                return (string) dexName.ConstructorArguments[0].Value;
            }

            return NameConverter.GetConvertedName(xMethod);
        }
开发者ID:rfcclub,项目名称:dot42,代码行数:40,代码来源:MethodBuilder.cs


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