本文整理汇总了C#中MonoDevelop.Ide.TypeSystem.OutputSettings类的典型用法代码示例。如果您正苦于以下问题:C# OutputSettings类的具体用法?C# OutputSettings怎么用?C# OutputSettings使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OutputSettings类属于MonoDevelop.Ide.TypeSystem命名空间,在下文中一共展示了OutputSettings类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DomTypeNodeBuilder
static DomTypeNodeBuilder ()
{
DomTypeNodeBuilder.settings = new OutputSettings (OutputFlags.AssemblyBrowserDescription);
DomTypeNodeBuilder.settings.MarkupCallback += delegate (string text) {
return "<span style=\"text\">" + text + "</span>";
};
DomTypeNodeBuilder.settings.EmitModifiersCallback = delegate (string text) {
return "<span style=\"keyword.modifier\">" + text + "</span>";
};
DomTypeNodeBuilder.settings.EmitKeywordCallback = delegate (string text) {
return MarkupKeyword (text);
};
// DomTypeNodeBuilder.settings.EmitNameCallback = delegate (IEntity domVisitable, ref string outString) {
// if (domVisitable is IType) {
// outString = "<span style=\"text.link\"><u><a ref=\"" + ((IType)domVisitable).HelpUrl + "\">" + outString + "</a></u></span>";
// } else {
// outString = "<span style=\"text\">" + outString + "</span>";
// }
// };
// DomTypeNodeBuilder.settings.PostProcessCallback = delegate (IEntity domVisitable, ref string outString) {
// if (domVisitable is IReturnType) {
// outString = "<span style=\"text.link\"><u><a ref=\"" + ((IReturnType)domVisitable).HelpUrl + "\">" + outString + "</a></u></span>";
// }
// };
}
示例2: GetFieldString
protected override string GetFieldString(ICSharpCode.NRefactory.TypeSystem.IField field, OutputSettings settings)
{
if (field == null)
return "";
var result = new StringBuilder ();
bool isEnum = field.DeclaringTypeDefinition != null && field.DeclaringTypeDefinition.Kind == TypeKind.Enum;
AppendModifiers (result, settings, field);
if (!settings.CompletionListFomat && settings.IncludeReturnType && !isEnum) {
result.Append (GetTypeReferenceString (field.ReturnType, settings));
result.Append (settings.Markup (" "));
}
if (!settings.IncludeReturnType && settings.UseFullName) {
result.Append (GetTypeReferenceString (field.DeclaringTypeDefinition, settings));
result.Append (settings.Markup ("."));
}
result.Append (settings.EmitName (field, FilterName (Format (field.Name))));
if (settings.CompletionListFomat && settings.IncludeReturnType && !isEnum) {
result.Append (settings.Markup (" : "));
result.Append (GetTypeReferenceString (field.ReturnType, settings));
}
return result.ToString ();
}
示例3: GetString
public override string GetString(string nameSpace, OutputSettings settings)
{
var result = new StringBuilder ();
result.Append (settings.EmitKeyword ("Namespace"));
result.Append (Format (nameSpace));
return result.ToString ();
}
示例4: GetConstructorString
protected override string GetConstructorString(IMethod method, OutputSettings settings)
{
var result = new StringBuilder ();
if (settings.IncludeModifiers)
AppendModifiers (result, settings, method);
result.Append (settings.EmitKeyword ("Constructor"));
result.Append (settings.EmitName (method, method.DeclaringType.Name));
if (settings.IncludeParameters) {
result.Append (settings.Markup ("("));
bool first = true;
foreach (var parameter in method.Parameters) {
if (!first)
result.Append (settings.Markup (", "));
result.Append (GetParameterString (method, parameter, settings));
first = false;
}
result.Append (settings.Markup (")"));
}
return result.ToString ();
}
示例5: AppendParameter
void AppendParameter (OutputSettings settings, StringBuilder result, IParameter parameter)
{
if (parameter == null)
return;
if (parameter.IsOut) {
result.Append (settings.Markup ("out"));
result.Append (settings.Markup (" "));
} else if (parameter.IsRef) {
result.Append (settings.Markup ("ref"));
result.Append (settings.Markup (" "));
} else if (parameter.IsParams) {
result.Append (settings.Markup ("params"));
result.Append (settings.Markup (" "));
}
result.Append (GetParameterString (null, parameter, settings));
}
示例6: AppendExplicitInterfaces
void AppendExplicitInterfaces (StringBuilder sb, IMember member, OutputSettings settings)
{
if (member == null || !member.IsExplicitInterfaceImplementation)
return;
foreach (var implementedInterfaceMember in member.ImplementedInterfaceMembers) {
if (settings.UseFullName) {
sb.Append (Format (implementedInterfaceMember.DeclaringTypeDefinition.FullName));
} else {
sb.Append (Format (implementedInterfaceMember.DeclaringTypeDefinition.Name));
}
sb.Append (settings.Markup ("."));
}
}
示例7: GetIndexerString
protected override string GetIndexerString (IProperty property, OutputSettings settings)
{
if (property == null)
return "";
var result = new StringBuilder ();
AppendModifiers (result, settings, property);
if (settings.IncludeReturnType) {
result.Append (GetTypeReferenceString (property.ReturnType, settings));
result.Append (settings.Markup (" "));
}
if (!settings.IncludeReturnType && settings.UseFullName) {
result.Append (GetTypeReferenceString (property.DeclaringTypeDefinition, new OutputSettings (OutputFlags.UseFullName)));
result.Append (settings.Markup ("."));
}
AppendExplicitInterfaces (result, property, settings);
result.Append (settings.EmitName (property, Format ("this")));
if (settings.IncludeParameters && property.Getter.Parameters.Count > 0) {
result.Append (settings.Markup ("["));
AppendParameterList (result, settings, property.Getter.Parameters);
result.Append (settings.Markup ("]"));
}
if (settings.IncludeAccessor) {
result.Append (settings.Markup (" {"));
if (property.CanGet)
result.Append (settings.Markup (" get;"));
if (property.CanSet)
result.Append (settings.Markup (" set;"));
result.Append (settings.Markup (" }"));
}
return result.ToString ();
}
示例8: GetOperatorString
protected override string GetOperatorString (IMethod method, OutputSettings settings)
{
return InternalGetMethodString (method, settings, settings.EmitName (method, Format (FilterName (method.Name))), true);
}
示例9: GetMethodString
protected override string GetMethodString (IMethod method, OutputSettings settings)
{
return InternalGetMethodString (method, settings, settings.EmitName (method, Format (FilterName (method.EntityType == EntityType.Constructor || method.EntityType == EntityType.Destructor ? method.DeclaringTypeDefinition.Name : method.Name))), true);
}
示例10: GetTypeString
protected override string GetTypeString (IType t, OutputSettings settings)
{
if (t.Kind == TypeKind.Unknown) {
return t.Name;
}
if (t.Kind == TypeKind.TypeParameter)
return t.FullName;
var typeWithElementType = t as TypeWithElementType;
if (typeWithElementType != null) {
var sb = new StringBuilder ();
if (typeWithElementType is PointerType) {
sb.Append (settings.Markup ("*"));
}
AppendType (sb, typeWithElementType.ElementType, settings);
if (typeWithElementType is ArrayType) {
sb.Append (settings.Markup ("["));
sb.Append (settings.Markup (new string (',', ((ArrayType)t).Dimensions - 1)));
sb.Append (settings.Markup ("]"));
}
return sb.ToString ();
}
ITypeDefinition type = t.GetDefinition ();
if (type == null)
return "";
if (!settings.UseNETTypeNames && type.Namespace == "System" && type.TypeParameterCount == 0) {
switch (type.Name) {
case "Object":
return "object";
case "Boolean":
return "bool";
case "Char":
return "char";
case "SByte":
return "sbyte";
case "Byte":
return "byte";
case "Int16":
return "short";
case "UInt16":
return "ushort";
case "Int32":
return "int";
case "UInt32":
return "uint";
case "Int64":
return "long";
case "UInt64":
return "ulong";
case "Single":
return "float";
case "Double":
return "double";
case "Decimal":
return "decimal";
case "String":
return "string";
case "Void":
return "void";
}
}
// output anonymous type
if (type.IsSynthetic && type.Name == "$Anonymous$")
return GetTypeReferenceString (type, settings);
var result = new StringBuilder ();
var def = type;
AppendModifiers (result, settings, def);
if (settings.IncludeKeywords)
result.Append (GetString (def.Kind));
if (result.Length > 0 && !result.ToString ().EndsWith (" "))
result.Append (settings.Markup (" "));
if (type.Kind == TypeKind.Delegate && settings.ReformatDelegates && settings.IncludeReturnType) {
var invoke = type.GetDelegateInvokeMethod ();
result.Append (GetTypeReferenceString (invoke.ReturnType, settings));
result.Append (settings.Markup (" "));
}
if (settings.UseFullInnerTypeName && type.DeclaringTypeDefinition != null) {
bool includeGenerics = settings.IncludeGenerics;
settings.OutputFlags |= OutputFlags.IncludeGenerics;
string typeString = GetTypeReferenceString (type.DeclaringTypeDefinition, settings);
if (!includeGenerics)
settings.OutputFlags &= ~OutputFlags.IncludeGenerics;
result.Append (typeString);
result.Append (settings.Markup ("."));
}
result.Append (settings.EmitName (type, type.Name));
if (settings.IncludeGenerics && type.TypeParameterCount > 0) {
//.........这里部分代码省略.........
示例11: GetConstructorString
protected abstract string GetConstructorString (IMethod constructor, OutputSettings settings);
示例12: GetMethodString
protected abstract string GetMethodString (IMethod method, OutputSettings settings);
示例13: GetTypeString
protected abstract string GetTypeString (IType type, OutputSettings settings);
示例14: GetTypeReferenceString
protected abstract string GetTypeReferenceString (IType reference, OutputSettings settings);
示例15: GetString
public abstract string GetString (string nameSpace, OutputSettings settings);