public NfTypeName(string name) { if (string.IsNullOrWhiteSpace(name)) { return; } _ctorString = name; var parseItem = TypeNameParseTree.ParseIl(name); if (parseItem == null) { return; } _className = NfReflect.GetTypeNameWithoutNamespace(parseItem.FullName); _namespace = NfReflect.GetNamespaceWithoutTypeName(parseItem.FullName); _publicKeyToken = parseItem.PublicKeyTokenValue; if (!string.IsNullOrWhiteSpace(parseItem.AssemblyFullName)) { _asmName = new AssemblyName(parseItem.AssemblyFullName); } if (parseItem.GenericItems == null || !parseItem.GenericItems.Any()) { return; } foreach (var gi in parseItem.GenericItems) { _genericArgs.Add(new NfTypeName(gi)); } }
public void TestInvokeParseSimpleName() { var testInput = "NoFuture.Util.TypeName"; var testResult = TypeNameParseTree.InvokeParse(testInput); Assert.IsNotNull(testResult); Assert.IsTrue(testResult.Any()); foreach (var tr in testResult) { PrintTypeItemContent(tr, 0); } }
public void TestInvokeParseSimpleGeneric() { var testInput = "System.Collections.Generic.List`1[SomeSecondDll.MyFirstMiddleClass]"; var testResult = TypeNameParseTree.InvokeParse(testInput); Assert.IsNotNull(testResult); Assert.IsTrue(testResult.Any()); foreach (var tr in testResult) { PrintTypeItemContent(tr, 0); } }
public void TestInvokeParse() { var testInput = "NeedItInIl.DomainAdapterBase`2[[AThirdDll.Whatever, AThirdDll, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Tuple`3[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Collections.Generic.IEnumerable`1[[MoreBinaries.DomainObject+MyInnerType, MoreBinaries, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"; var testResult = TypeNameParseTree.InvokeParse(testInput); Assert.IsNotNull(testResult); Assert.IsTrue(testResult.Any()); foreach (var tr in testResult) { PrintTypeItemContent(tr, 0); } }
public string TransformClrTypeSyntax(string typeToString) { if (string.IsNullOrWhiteSpace(typeToString)) { return("object"); } var tnpi = TypeNameParseTree.ParseIl(typeToString); var bldr = new StringBuilder(); ConvertToCs(tnpi, bldr); return(bldr.ToString().Replace("+", ".")); }
public void TestInvokeParseAsmNameOnly() { var testInput = "log4net, Version=1.2.13.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL"; var testResult = TypeNameParseTree.InvokeParse(testInput); Assert.IsNotNull(testResult); Assert.IsTrue(testResult.Any()); foreach (var tr in testResult) { PrintTypeItemContent(tr, 0); } }
public override byte[] Execute(byte[] arg) { try { if (arg == null || arg.Length <= 0) { throw new ItsDeadJim("No Type Name given to parse."); } var nm = Encoding.UTF8.GetString(arg); MyProgram.PrintToConsole(nm); var f = TypeNameParseTree.ParseIl(nm); return(JsonEncodedResponse(f)); } catch (Exception ex) { Console.WriteLine('\n'); MyProgram.PrintToConsole(ex); return(JsonEncodedResponse(new NfTypeNameParseItem { Error = ex })); } }