System.Web.Script.Services.LogicalTypeInfo.GenerateTypeRegistrationScript C# (CSharp) Метод

GenerateTypeRegistrationScript() защищенный статический Метод

protected static GenerateTypeRegistrationScript ( StringBuilder proxy, Type scriptType, string scriptTypeId, List registeredNamespaces ) : void
proxy StringBuilder
scriptType System.Type
scriptTypeId string
registeredNamespaces List
Результат void
		protected static void GenerateTypeRegistrationScript (StringBuilder proxy, Type scriptType, string scriptTypeId, List<string> registeredNamespaces) {
			string className = scriptType.FullName.Replace ('+', '_');
			string ns = scriptType.Namespace;
			string scriptTypeDeclaration = EnsureNamespaceRegistered (ns, className, proxy, registeredNamespaces);
			proxy.AppendFormat (
@"
if (typeof({0}) === 'undefined') {{", className);
			if (scriptType.IsEnum) {
				proxy.AppendFormat (
@"
{0} = function() {{ throw Error.invalidOperation(); }}
{0}.prototype = {1}
{0}.registerEnum('{0}', {2});",
				className,
				// This method is also used for WCF, but for enum this should work ...
				AsmxLogicalTypeInfo.JSSerializer.Serialize(GetEnumPrototypeDictionary (scriptType)),
				Attribute.GetCustomAttribute (scriptType, typeof (FlagsAttribute)) != null ? "true" : "false");
				
			}
			else {
				string typeId = String.IsNullOrEmpty (scriptTypeId) ? scriptType.FullName : scriptTypeId;
				proxy.AppendFormat (
@"
" + scriptTypeDeclaration + @"=gtc(""{1}"");
{0}.registerClass('{0}');",
				className, typeId);
			}
			proxy.Append ('}');
		}

Same methods

LogicalTypeInfo::GenerateTypeRegistrationScript ( StringBuilder proxy, List registeredNamespaces ) : void