本文整理汇总了C#中IField.ResolveFieldDef方法的典型用法代码示例。如果您正苦于以下问题:C# IField.ResolveFieldDef方法的具体用法?C# IField.ResolveFieldDef怎么用?C# IField.ResolveFieldDef使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IField
的用法示例。
在下文中一共展示了IField.ResolveFieldDef方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteToolTip
void WriteToolTip(ITextOutput output, IField field)
{
var sig = field.FieldSig;
var gpContext = GenericParamContext.Create(field.DeclaringType.ResolveTypeDef());
bool isEnumOwner = gpContext.Type != null && gpContext.Type.IsEnum;
var fd = field.ResolveFieldDef();
if (!isEnumOwner) {
if (fd != null && fd.IsLiteral)
output.Write("(constant)", TextTokenType.Text);
else
output.Write("(field)", TextTokenType.Text);
output.WriteSpace();
WriteToolTip(output, sig.Type, gpContext, null);
output.WriteSpace();
}
WriteToolTip(output, field.DeclaringType);
output.Write('.', TextTokenType.Operator);
output.Write(IdentifierEscaper.Escape(field.Name), TextTokenHelper.GetTextTokenType(field));
if (fd.IsLiteral && fd.Constant != null) {
output.WriteSpace();
output.Write('=', TextTokenType.Operator);
output.WriteSpace();
WriteToolTipConstant(output, fd.Constant.Value);
}
}
示例2: Write
void Write(IField field, bool isToolTip) {
if (field == null) {
WriteError();
return;
}
var sig = field.FieldSig;
var td = field.DeclaringType.ResolveTypeDef();
bool isEnumOwner = td != null && td.IsEnum;
var fd = field.ResolveFieldDef();
if (!isEnumOwner || (fd != null && !fd.IsLiteral)) {
if (isToolTip)
OutputWrite(string.Format("({0})", fd != null && fd.IsLiteral ? Languages_Resources.ToolTip_Constant : Languages_Resources.ToolTip_Field), TextTokenKind.Text);
WriteSpace();
Write(sig.Type, null, null, null);
WriteSpace();
}
if (ShowOwnerTypes) {
Write(field.DeclaringType);
OutputWrite(".", TextTokenKind.Operator);
}
WriteIdentifier(field.Name, TextTokenKindUtils.GetTextTokenType(field));
WriteToken(field);
if (ShowFieldLiteralValues && fd != null && fd.IsLiteral && fd.Constant != null) {
WriteSpace();
OutputWrite("=", TextTokenKind.Operator);
WriteSpace();
WriteConstant(fd.Constant.Value);
}
}