当前位置: 首页>>代码示例>>C#>>正文


C# OutputSettings.Markup方法代码示例

本文整理汇总了C#中MonoDevelop.Ide.TypeSystem.OutputSettings.Markup方法的典型用法代码示例。如果您正苦于以下问题:C# OutputSettings.Markup方法的具体用法?C# OutputSettings.Markup怎么用?C# OutputSettings.Markup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MonoDevelop.Ide.TypeSystem.OutputSettings的用法示例。


在下文中一共展示了OutputSettings.Markup方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: 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) {
//.........这里部分代码省略.........
开发者ID:txdv,项目名称:monodevelop,代码行数:101,代码来源:CSharpAmbience.cs

示例2: AppendType

        void AppendType(StringBuilder sb, IType type, OutputSettings settings)
        {
            if (type.Kind == TypeKind.Unknown) {
                sb.Append (settings.IncludeMarkup ? settings.Markup (type.Name) : type.Name);
                return;
            }
            // no generics in TypeScript so far.
            /*
            if (type.Kind == TypeKind.TypeParameter) {
                sb.Append (settings.IncludeMarkup ? settings.Markup (type.Name) : type.Name);
                return;
            }
            */
            // no nested type in TypeScript so far.
            /*
            if (type.DeclaringType != null) {
                AppendType (sb, type.DeclaringType, settings);
                sb.Append (settings.Markup ("."));
            }
            */

            var typeWithElementType = type as TypeWithElementType;
            if (typeWithElementType != null) {
                AppendType (sb, typeWithElementType.ElementType, settings);

                if (typeWithElementType is PointerType) {
                    sb.Append (settings.Markup ("*"));
                }

                if (typeWithElementType is ArrayType) {
                    sb.Append (settings.Markup ("["));
                    sb.Append (settings.Markup (new string (',', ((ArrayType)type).Dimensions - 1)));
                    sb.Append (settings.Markup ("]"));
                }
                return;
            }

            // no generics in TypeScript so far.
            /*
            var pt = type as ParameterizedType;
            if (pt != null) {
                if (pt.Name == "Nullable" && pt.Namespace == "System" && pt.TypeParameterCount == 1) {
                    AppendType (sb, pt.TypeArguments [0], settings);
                    sb.Append (settings.Markup ("?"));
                    return;
                }
                sb.Append (pt.Name);
                if (pt.TypeParameterCount > 0) {
                    sb.Append (settings.Markup ("<"));
                    for (int i = 0; i < pt.TypeParameterCount; i++) {
                        if (i > 0)
                            sb.Append (settings.Markup (", "));
                        AppendType (sb, pt.TypeArguments [i], settings);
                    }
                    sb.Append (settings.Markup (">"));
                }
                return;
            }
            */

            var typeDef = type as ITypeDefinition ?? type.GetDefinition ();
            if (typeDef != null) {
                if (settings.UseFullName) {
                    sb.Append (settings.IncludeMarkup ? settings.Markup (typeDef.FullName) : typeDef.FullName);
                } else {
                    sb.Append (settings.IncludeMarkup ? settings.Markup (typeDef.Name) : typeDef.Name);
                }

                // No generics in TypeScript so far.
                /*
                if (typeDef.TypeParameterCount > 0) {
                    sb.Append (settings.Markup ("<"));
                    for (int i = 0; i < typeDef.TypeParameterCount; i++) {
                        if (i > 0)
                            sb.Append (settings.Markup (", "));
                        AppendVariance (sb, typeDef.TypeParameters [i].Variance);
                        AppendType (sb, typeDef.TypeParameters [i], settings);
                    }
                    sb.Append (settings.Markup (">"));
                }
                */
            }
        }
开发者ID:atsushieno,项目名称:md-typescript,代码行数:83,代码来源:TypeScriptAmbience.cs

示例3: AppendType

		public void AppendType (StringBuilder sb, IType type, OutputSettings settings)
		{
			if (type.Kind == TypeKind.Unknown) {
				sb.Append (type.Name);
				return;
			}
			if (type.Kind == TypeKind.TypeParameter) {
				sb.Append (type.Name);
				return;
			}
			if (type.DeclaringType != null) {
				AppendType (sb, type.DeclaringType, settings);
				sb.Append (settings.Markup ("."));
			}
			if (type.Namespace == "System" && type.TypeParameterCount == 0) {
				switch (type.Name) {
				case "Object":
					sb.Append ("object");
					return;
				case "Boolean":
					sb.Append ("bool");
					return;
				case "Char":
					sb.Append ("char");
					return;
				case "SByte":
					sb.Append ("sbyte");
					return;
				case "Byte":
					sb.Append ("byte");
					return;
				case "Int16":
					sb.Append ("short");
					return;
				case "UInt16":
					sb.Append ("ushort");
					return;
				case "Int32":
					sb.Append ("int");
					return;
				case "UInt32":
					sb.Append ("uint");
					return;
				case "Int64":
					sb.Append ("long");
					return;
				case "UInt64":
					sb.Append ("ulong");
					return;
				case "Single":
					sb.Append ("float");
					return;
				case "Double":
					sb.Append ("double");
					return;
				case "Decimal":
					sb.Append ("decimal");
					return;
				case "String":
					sb.Append ("string");
					return;
				case "Void":
					sb.Append ("void");
					return;
				}
			}
			
			var typeWithElementType = type as TypeWithElementType;
			if (typeWithElementType != null) {
				AppendType (sb, typeWithElementType.ElementType, settings);
				
				if (typeWithElementType is PointerType) {
					sb.Append (settings.Markup ("*"));
				} 
				
				if (typeWithElementType is ArrayType) {
					sb.Append (settings.Markup ("["));
					sb.Append (settings.Markup (new string (',', ((ArrayType)type).Dimensions - 1)));
					sb.Append (settings.Markup ("]"));
				}
				return;
			}
			
			var pt = type as ParameterizedType;
			if (pt != null) {
				if (pt.Name == "Nullable" && pt.Namespace == "System" && pt.TypeParameterCount == 1) {
					AppendType (sb, pt.TypeArguments [0], settings);
					sb.Append (settings.Markup ("?"));
					return;
				}
				sb.Append (pt.Name);
				if (pt.TypeParameterCount > 0) {
					sb.Append (settings.Markup ("<"));
					for (int i = 0; i < pt.TypeParameterCount; i++) {
						if (i > 0)
							sb.Append (settings.Markup (", "));
						AppendType (sb, pt.TypeArguments [i], settings);
					}
					sb.Append (settings.Markup (">"));
				}
//.........这里部分代码省略.........
开发者ID:txdv,项目名称:monodevelop,代码行数:101,代码来源:CSharpAmbience.cs

示例4: AppendParameterList

		void AppendParameterList (StringBuilder result, OutputSettings settings, IEnumerable<IParameter> parameterList)
		{
			if (parameterList == null)
				return;
			
			bool first = true;
			foreach (var parameter in parameterList) {
				if (!first)
					result.Append (settings.Markup (", "));
				AppendParameter (settings, result, parameter);
				first = false;
			}
		}
开发者ID:txdv,项目名称:monodevelop,代码行数:13,代码来源:CSharpAmbience.cs

示例5: GetFieldString

        protected override string GetFieldString(IField field, OutputSettings settings)
        {
            var result = new StringBuilder ();

            if (settings.IncludeModifiers)
                AppendModifiers (result, settings, field);

            result.Append (settings.EmitKeyword ("Field"));
            result.Append (settings.EmitName (field, field.Name));

            if (settings.IncludeReturnType) {
                result.Append (settings.Markup (" : "));
                result.Append (GetTypeReferenceString (field.ReturnType, settings));
            }
            return result.ToString ();
        }
开发者ID:Kalnor,项目名称:monodevelop,代码行数:16,代码来源:NetAmbience.cs

示例6: GetFieldString

		protected override string GetFieldString (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 ();
		}
开发者ID:txdv,项目名称:monodevelop,代码行数:25,代码来源:CSharpAmbience.cs

示例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 ();
		}
开发者ID:txdv,项目名称:monodevelop,代码行数:37,代码来源:CSharpAmbience.cs

示例8: 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 ();
        }
开发者ID:Kalnor,项目名称:monodevelop,代码行数:23,代码来源:NetAmbience.cs

示例9: GetIndexerString

        protected override string GetIndexerString(IProperty property, OutputSettings settings)
        {
            if(property == null)
                return "";

            return settings.Markup(property.Name);
        }
开发者ID:hazama-yuinyan,项目名称:monodevelop-bvebinding,代码行数:7,代码来源:BVE5Ambience.cs

示例10: GetPropertyString

 protected override string GetPropertyString(IProperty property, OutputSettings settings)
 {
     var result = new StringBuilder ();
     if (settings.IncludeModifiers)
         AppendModifiers (result, settings, property);
     result.Append (settings.EmitKeyword ("Property"));
     result.Append (settings.EmitName (property, property.Name));
     if (settings.IncludeReturnType) {
         result.Append (settings.Markup (" : "));
         result.Append (GetTypeReferenceString (property.ReturnType, settings));
     }
     return result.ToString ();
 }
开发者ID:Kalnor,项目名称:monodevelop,代码行数:13,代码来源:NetAmbience.cs

示例11: GetTypeString

        protected override string GetTypeString(IType t, OutputSettings settings)
        {
            ITypeDefinition type = t.GetDefinition ();
            var result = new StringBuilder ();
            if (settings.IncludeModifiers)
                AppendModifiers (result, settings, type);
            if (settings.IncludeKeywords)
                result.Append (settings.EmitKeyword (GetString (type.Kind)));

            result.Append (settings.EmitName (type, settings.UseFullName ? type.FullName : type.Name));

            int parameterCount = type.TypeParameters.Count;

            if (settings.IncludeGenerics && parameterCount > 0) {
                result.Append (settings.Markup ("<"));
                if (!settings.HideGenericParameterNames) {
                    for (int i = 0; i < parameterCount; i++) {
                        if (i > 0)
                            result.Append (settings.Markup (", "));
                        result.Append (type.TypeParameters [i].Name);
                    }
                }
                result.Append (settings.Markup (">"));
            }

            if (settings.IncludeBaseTypes && type.DirectBaseTypes.Any ()) {
                result.Append (settings.Markup (" : "));
                bool first = true;
                foreach (var baseType in type.DirectBaseTypes) {
                    if (baseType.Equals (type.Compilation.FindType (KnownTypeCode.Object)))
                        continue;
                    if (!first)
                        result.Append (settings.Markup (", "));
                    first = false;
                    result.Append (GetTypeReferenceString (baseType, settings));
                }

            }
            return result.ToString ();
        }
开发者ID:Kalnor,项目名称:monodevelop,代码行数:40,代码来源:NetAmbience.cs

示例12: GetParameterString

 protected override string GetParameterString(IParameterizedMember member, IParameter parameter, OutputSettings settings)
 {
     var result = new StringBuilder ();
     if (settings.IncludeParameterName) {
         result.Append (Format (parameter.Name));
         if (settings.IncludeReturnType) {
             result.Append (settings.Markup (" : "));
             result.Append (GetTypeReferenceString (parameter.Type, settings));
         }
     } else {
         result.Append (GetTypeReferenceString (parameter.Type, settings));
     }
     if (parameter.IsRef || parameter.IsOut)
         result.Append (settings.Markup ("&"));
     return result.ToString ();
 }
开发者ID:Kalnor,项目名称:monodevelop,代码行数:16,代码来源:NetAmbience.cs

示例13: GetOperatorString

        protected override string GetOperatorString(IMethod method, OutputSettings settings)
        {
            var result = new StringBuilder ();

            if (settings.IncludeModifiers)
                AppendModifiers (result, settings, method);

            result.Append (settings.EmitKeyword ("Operator"));
            result.Append (settings.EmitName (method, settings.UseFullName ? method.FullName : method.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 (")"));
            }

            if (settings.IncludeReturnType) {
                result.Append (settings.Markup (" : "));
                result.Append (GetTypeReferenceString (method.ReturnType, settings));
            }
            return result.ToString ();
        }
开发者ID:Kalnor,项目名称:monodevelop,代码行数:28,代码来源:NetAmbience.cs

示例14: GetIndexerString

        protected override string GetIndexerString(IProperty property, OutputSettings settings)
        {
            var result = new StringBuilder ();
            if (settings.IncludeModifiers)
                AppendModifiers (result, settings, property);
            result.Append (settings.EmitKeyword ("Indexer"));
            result.Append (settings.EmitName (property, property.Name));

            if (settings.IncludeParameters && property.Parameters.Count > 0) {
                result.Append (settings.Markup ("("));
                bool first = true;
                foreach (var parameter in property.Parameters) {
                    if (!first)
                        result.Append (settings.Markup (", "));
                    result.Append (GetParameterString (property, parameter, settings));
                    first = false;
                }
                result.Append (settings.Markup (")"));
            }
            if (settings.IncludeReturnType) {
                result.Append (settings.Markup (" : "));
                result.Append (GetTypeReferenceString (property.ReturnType, settings));
            }
            return result.ToString ();
        }
开发者ID:Kalnor,项目名称:monodevelop,代码行数:25,代码来源:NetAmbience.cs

示例15: InternalGetMethodString

		string InternalGetMethodString (IMethod method, OutputSettings settings, string methodName, bool getReturnType)
		{
			if (method == null)
				return "";
			var result = new StringBuilder ();
			AppendModifiers (result, settings, method);
			if (!settings.CompletionListFomat && settings.IncludeReturnType && getReturnType) {
				result.Append (GetTypeReferenceString (method.ReturnType, settings));
				result.Append (settings.Markup (" "));
			}
			
			if (!settings.IncludeReturnType && settings.UseFullName) {
				result.Append (GetTypeReferenceString (method.DeclaringTypeDefinition, new OutputSettings (OutputFlags.UseFullName)));
				result.Append (settings.Markup ("."));
			}
			AppendExplicitInterfaces (result, method, settings);
			if (method.EntityType == EntityType.Operator) {
				result.Append ("operator ");
				result.Append (settings.Markup (GetOperator (methodName)));
			} else {
				result.Append (methodName);
			}
			
			if (settings.IncludeGenerics) {
				if (method.TypeParameters.Count > 0) {
					result.Append (settings.Markup ("<"));
					for (int i = 0; i < method.TypeParameters.Count; i++) {
						if (i > 0)
							result.Append (settings.Markup (settings.HideGenericParameterNames ? "," : ", "));
						if (!settings.HideGenericParameterNames) {
							AppendVariance (result, method.TypeParameters [i].Variance);
							result.Append (NetToCSharpTypeName (method.TypeParameters [i].Name));
						}
					}
					result.Append (settings.Markup (">"));
				}
			}
			
			if (settings.IncludeParameters) {
//			CSharpFormattingPolicy policy = GetPolicy (settings);
//			if (policy.BeforeMethodCallParentheses)
//				result.Append (settings.Markup (" "));
				result.Append (settings.Markup ("("));
				AppendParameterList (result, settings, method.Parameters);
				result.Append (settings.Markup (")"));
			}
			
			if (settings.CompletionListFomat && settings.IncludeReturnType && getReturnType) {
				result.Append (settings.Markup (" : "));
				result.Append (GetTypeReferenceString (method.ReturnType, settings));
			}
			
//		OutputConstraints (result, settings, method.TypeParameters);
			
			return result.ToString ();			
		}
开发者ID:txdv,项目名称:monodevelop,代码行数:56,代码来源:CSharpAmbience.cs


注:本文中的MonoDevelop.Ide.TypeSystem.OutputSettings.Markup方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。