public static void Main() { var t2 = Task.Run(async() => { using (var scw = new StreamClassWriter()) { for (int i = 0; i < 10; i++) { await scw.Write($"Message {i}"); await Task.Delay(1000); } } }); Thread.Sleep(100); var t1 = Task.Run(() => { var v = new StreamClassReader(); using (var scr = v) { String res = ""; while (res is not null) { res = scr.Read(); Console.Out.WriteLine(res); } } }); using (var m = new MemoryStream()) { } Task.WaitAll(t2, t1); }
public Type GetByName(string name) { name = string.Concat(_name, ".", name); if (!_typeCache.TryGet(name, out Type value)) { string path = Assembly.GetEntryAssembly().Location; Stream stream = File.OpenRead(path); IClassReader classReader = new StreamClassReader(stream); IAssemblyBuilder assemblyBuilder = new ClassReaderAssemblyStringBuilder(_name, classReader); assemblyBuilder.Build(); _typeCache.TryGet(name, out value); } return(value); }