當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。