本文整理汇总了C#中Mono.Cecil.TypeReference.Implements方法的典型用法代码示例。如果您正苦于以下问题:C# TypeReference.Implements方法的具体用法?C# TypeReference.Implements怎么用?C# TypeReference.Implements使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.Cecil.TypeReference
的用法示例。
在下文中一共展示了TypeReference.Implements方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsRule
private bool IsRule (TypeReference type)
{
var typeName = type.FullName;
bool result;
if (!typeIsRule.TryGetValue (typeName, out result)) {
result = type.Implements ("Gendarme.Framework.IRule");
typeIsRule [typeName] = result;
}
return result;
}
示例2: IsICollection
static bool IsICollection (TypeReference type)
{
if (type.Implements ("System.Collections", "ICollection"))
return true;
return type.Implements ("System.Collections.Generic", "ICollection`1");
}
示例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: CheckDictionary
static string CheckDictionary(TypeReference type)
{
if (type.Implements ("System.Collections", "IDictionary") || type.Implements ("System.Collections.Generic", "IDictionary`2"))
return String.Empty;
return "'Dictionary' should only be used for types implementing IDictionary and IDictionary<TKey,TValue>.";
}
示例5: 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.";
}
示例6: 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);
}
示例7: CheckMethod
public override RuleResult CheckMethod (MethodDefinition method)
{
if (!method.HasBody)
return RuleResult.DoesNotApply;
//the rule does not apply to the particular case of ToString()
//that have its own ToStringShouldNotReturnNullRule
if (!method.HasParameters && method.Name == "ToString")
return RuleResult.DoesNotApply;
//only apply to methods returning string, array, or IEnumerable-impl
return_type = method.ReturnType;
string_return_type = (return_type.FullName == "System.String");
array_return_type = return_type.IsArray;
ienumerable_return_type = return_type.Implements ("System.Collections.IEnumerable");
if (!string_return_type && !array_return_type && !ienumerable_return_type)
return RuleResult.DoesNotApply;
return base.CheckMethod (method);
}