public void ILMethod() { var lazyClass = new LazyClass(); object obj = Activator.CreateInstance(lazyClass.NewType, true); FieldInfo fieldInfo = lazyClass.NewType.GetField("typeRef"); fieldInfo.SetValue(obj, new TypeRef()); PropertyInfo propertyInfo = lazyClass.NewType.GetProperty("prop"); object result = propertyInfo.GetValue(obj); }
public void EntityContainingOnlyLazyFieldsPrefetchTestTest() { Key key; using (var session = Domain.OpenSession()) using (var tx = session.OpenTransaction()) { key = new LazyClass { LazyInt = 3, LazyString = "a" }.Key; tx.Complete(); } using (var session = Domain.OpenSession()) using (session.OpenTransaction()) { Assert.IsNotNull(session.Query.Single <LazyClass>(key)); PrefetchTestHelper.AssertOnlySpecifiedColumnsAreLoaded(key, key.TypeInfo, session, IsFieldKeyOrSystem); } }
static void Main(string[] args) { var baseC = new BaseClass(); var extC = new ExtClass(); var lazyC = new LazyClass(); Console.WriteLine(baseC.NewMethod()); Console.WriteLine(baseC.VirtualOverrideMethod()); Console.WriteLine("---"); Console.WriteLine(extC.NewMethod()); Console.WriteLine(extC.VirtualOverrideMethod()); Console.WriteLine("---"); Console.WriteLine(((BaseClass)extC).NewMethod()); Console.WriteLine(((BaseClass)extC).VirtualOverrideMethod()); // Redundant typecast Console.WriteLine("---"); Console.WriteLine(lazyC.VirtualOverrideMethod()); Console.ReadKey(); }
public void LoadBuiltinClasses() { classes["Int"] = new IntClass(); classes["Float"] = new FloatClass(); classes["Boolean"] = new BooleanClass(); classes["String"] = new StringClass(); classes["Char"] = new CharClass(); classes["Byte"] = new ByteClass(); classes["Message"] = new MessageClass(); classes["Unassigned"] = new UnassignedClass(); classes["Tuple"] = new TupleClass(); classes["NameValue"] = new NameValueClass(); classes["Lambda"] = new LambdaClass(); classes["Void"] = new VoidClass(); classes["Some"] = new SomeClass(); classes["None"] = new NoneClass(); classes["Array"] = new ArrayClass(); classes["Iterator"] = new IteratorClass(); classes["LazyIterator"] = new LazyIteratorClass(); classes["StreamIterator"] = new StreamIteratorClass(); classes["Any"] = new AnyClass(); classes["Placeholder"] = new PlaceholderClass(); classes["Range"] = new RangeClass(); classes["Dictionary"] = new DictionaryClass(); classes["Container"] = new ContainerClass(); classes["Unmatched"] = new UnmatchedClass(); classes["Complex"] = new ComplexClass(); classes["Rational"] = new RationalClass(); classes["Long"] = new LongClass(); classes["Lazy"] = new LazyClass(); classes["YieldingInvokable"] = new YieldingInvokableClass(); classes["Del"] = new DelClass(); classes["Slice"] = new SliceClass(); classes["End"] = new EndClass(); classes["List"] = new ListClass(); classes["Arguments"] = new ArgumentsClass(); classes["Symbol"] = new SymbolClass(); classes["Infinity"] = new InfinityClass(); classes["OpenRange"] = new OpenRangeClass(); classes["KeyValue"] = new KeyValueClass(); classes["Regex"] = new RegexClass(); classes["Pattern"] = new PatternClass(); classes["PackageFunction"] = new PackageFunctionClass(); classes["Sys"] = new SysClass(); classes["Math"] = new MathClass(); classes["RuntimeFunction"] = new RuntimeFunctionClass(); classes["Reference"] = new ReferenceClass(); classes["Group"] = new RegexGroupClass(); classes["Match"] = new RegexMatchClass(); classes["Date"] = new DateClass(); classes["Interval"] = new IntervalClass(); classes["TypeConstraint"] = new TypeConstraintClass(); classes["ByteArray"] = new ByteArrayClass(); classes["Selector"] = new SelectorClass(); classes["Number"] = new NumberClass(); classes["Collection"] = new CollectionClass(); classes["TextFinding"] = new TextFindingClass(); classes["SkipTake"] = new SkipTakeClass(); classes["Constructor"] = new ConstructorClass(); classes["MutString"] = new MutStringClass(); classes["Error"] = new ErrorClass(); classes["Success"] = new SuccessClass(); classes["Failure"] = new FailureClass(); classes["Optional"] = new OptionalClass(); classes["Result"] = new ResultClass(); classes["Monad"] = new MonadClass(); classes["Unit"] = new UnitClass(); classes["YieldReturn"] = new YieldReturnClass(); classes["Index"] = new IndexClass(); classes["Cycle"] = new CycleClass(); classes["Set"] = new SetClass(); }