本文整理匯總了C#中Mono.Cecil.MethodDefinition.GetParameterModifier方法的典型用法代碼示例。如果您正苦於以下問題:C# MethodDefinition.GetParameterModifier方法的具體用法?C# MethodDefinition.GetParameterModifier怎麽用?C# MethodDefinition.GetParameterModifier使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Mono.Cecil.MethodDefinition
的用法示例。
在下文中一共展示了MethodDefinition.GetParameterModifier方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: DoGetDisplayText
private string DoGetDisplayText(MethodDefinition method)
{
var text = new StringBuilder();
// return-type
text.Append(DoGetDisplayType(method.ReturnType.FullName));
text.Append(':');
// declaring-type
string name = method.DeclaringType.FullName;
Debug.Assert(!name.Contains(":"), name + " should not have a ':'");
text.Append(name);
text.Append(':');
// name
text.Append(DoGetDisplayName(method));
text.Append(':');
// generic-args
if (method.HasGenericParameters && !DoCanDeduceGenerics(method))
text.Append(DoGetDisplayGargs(method.GenericParameters));
else if (method.IsConstructor && method.DeclaringType.HasGenericParameters)
text.Append(DoGetDisplayGargs(method.DeclaringType.GenericParameters));
text.Append(':');
// arg-types
if (method.HasParameters)
{
for (int i = 0; i < method.Parameters.Count; ++i)
{
text.Append(method.GetParameterModifier(i));
ParameterDefinition p = method.Parameters[i];
string typeName = p.ParameterType.FullName;
if (typeName.EndsWith("&"))
typeName = typeName.Remove(typeName.Length - 1);
text.Append(DoGetDisplayType(typeName));
if (i + 1 < method.Parameters.Count)
text.Append(";");
}
}
text.Append(':');
// arg-names
if (method.HasParameters)
{
for (int i = 0; i < method.Parameters.Count; ++i)
{
ParameterDefinition p = method.Parameters[i];
Debug.Assert(!p.Name.Contains(":"), p.Name + " should not have a ':'");
Debug.Assert(!p.Name.Contains(";"), p.Name + " should not have a ';'");
text.Append(p.Name);
if (i + 1 < method.Parameters.Count)
text.Append(";");
}
}
return text.ToString();
}
示例2: DoGetParams
private void DoGetParams(StringBuilder builder, MethodDefinition method)
{
if (m_addSpace)
builder.Append(" (");
else
builder.Append("(");
for (int i = 0; i < method.Parameters.Count; ++i)
{
builder.Append(method.GetParameterModifier(i));
ParameterDefinition param = method.Parameters[i];
string tname = DoGetQualifiedTypeName(param.ParameterType, true);
if (tname.EndsWith("&"))
tname = tname.Remove(tname.Length - 1);
builder.Append(tname);
builder.Append(" ");
builder.Append(param.Name);
if (i + 1 < method.Parameters.Count)
builder.Append(", ");
}
builder.Append(");");
}