本文整理汇总了C#中Mono.Cecil.TypeReference.Inherits方法的典型用法代码示例。如果您正苦于以下问题:C# TypeReference.Inherits方法的具体用法?C# TypeReference.Inherits怎么用?C# TypeReference.Inherits使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.Cecil.TypeReference
的用法示例。
在下文中一共展示了TypeReference.Inherits方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsSpecialCase
static bool IsSpecialCase (TypeReference type)
{
return type.Inherits ("System.Security", "PermissionSet");
}
示例2: CheckCallingBaseMethod
private void CheckCallingBaseMethod(TypeReference type, MethodSignature methodSignature)
{
MethodDefinition method = type.GetMethod (methodSignature);
if (method == null)
return; // Perhaps should report that doesn't exist the method (only with ctor).
// is there any Call or Callvirt instructions in the method
if (OpCodeBitmask.Calls.Intersect (OpCodeEngine.GetBitmask (method))) {
// in this case we check further
foreach (Instruction instruction in method.Body.Instructions) {
if (instruction.OpCode.FlowControl != FlowControl.Call)
continue;
MethodReference operand = (MethodReference) instruction.Operand;
TypeReference tr = operand.DeclaringType;
if (methodSignature.Matches (operand) && type.Inherits (tr.Namespace, tr.Name))
return;
}
}
Runner.Report (method, Severity.High, Confidence.High);
}
示例3: InheritsOrImplements
static string InheritsOrImplements(TypeReference type, string nameSpace, string name)
{
if (type.Inherits (nameSpace, name) || type.Implements (nameSpace, name))
return String.Empty;
return String.Format (CultureInfo.InvariantCulture,
"'{0}' should only be used for types that inherits or implements '{1}.{2}'.",
type.Name, nameSpace, name);
}
示例4: CheckCollection
static string CheckCollection(TypeReference type)
{
if (type.Implements ("System.Collections", "ICollection") ||
type.Implements ("System.Collections", "IEnumerable") ||
type.Implements ("System.Collections.Generic", "ICollection`1"))
return String.Empty;
if (type.Inherits ("System.Collections", "Queue") || type.Inherits ("System.Collections", "Stack") ||
type.Inherits ("System.Data", "DataSet") || type.Inherits ("System.Data", "DataTable"))
return String.Empty;
return "'Collection' should only be used for implementing ICollection or IEnumerable or inheriting from Queue, Stack, DataSet and DataTable.";
}
示例5: InheritsOrImplements
static string InheritsOrImplements (TypeReference type, string subtype)
{
if (type.Inherits (subtype) || type.Implements (subtype))
return String.Empty;
return String.Format ("'{0}' should only be used for types that inherits or implements {1}.", type.Name, subtype);
}
示例6: InheritFromWeakType
static string InheritFromWeakType (TypeReference type, string nameSpace, string name)
{
if (!type.Inherits (nameSpace, name))
return String.Empty;
return String.Format (CultureInfo.InvariantCulture, "'{0}' inherits from '{1}.{2}'.",
type.GetFullName (), nameSpace, name);
}