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


C# SimpleType.ReplaceWith方法代码示例

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


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

示例1: VisitSimpleType

			public override void VisitSimpleType (SimpleType simpleType)
			{
				base.VisitSimpleType (simpleType);

				var td = GetTypeDef (simpleType);

				if (td == null || !IsDelegate (td)) {
					return;
				}

				var subs = new Dictionary<string, AstType> ();

				var invoke = td.Methods.First (x => x.Name == "Invoke");

				if (simpleType.TypeArguments.Count > 0) {

					var ps = td.GenericParameters;
					var i = 0;
					foreach (var a in simpleType.TypeArguments) {

						subs [ps [i].Name] = a;

						i++;
					}
				}

				var nt = new FunctionType ();

				foreach (var p in invoke.Parameters) {

					var pt = p.ParameterType.IsGenericParameter ? subs [p.ParameterType.Name] : GetTsType (p.ParameterType);

					nt.Parameters.Add (new ParameterDeclaration (pt.Clone (), p.Name));
				}

				nt.ReturnType = invoke.ReturnType.IsGenericParameter ? subs [invoke.ReturnType.Name] : GetTsType (invoke.ReturnType);

				if (nt.ReturnType is PrimitiveType) {
					nt.ReturnType = MakePrimitiveTypesJsTypes.GetPrimitiveTypeReplacement ((PrimitiveType)nt.ReturnType);
				}
				foreach (var p in nt.Parameters) {
					if (p.Type is PrimitiveType) {
						p.Type = MakePrimitiveTypesJsTypes.GetPrimitiveTypeReplacement ((PrimitiveType)p.Type);
					}
				}

				nt.AddAnnotation (td);

				simpleType.ReplaceWith (nt);
			}
开发者ID:RReverser,项目名称:Netjs,代码行数:50,代码来源:CsToTs.cs


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