using System; static class Program { static int Main() { DocumentForm browseForm = new DocumentForm (); if (browseForm.DoInit () != 124) return 1; return 0; } } public abstract class EntityBase { } public class GenEntity : EntityBase { } class DocumentForm { internal int DoInit() { var g = new Grid1>(123); return g.num; } } public class Grid1 : MarshalByRefObject where TEntity : EntityBase, new() { public int num; public Grid1 (int i) { num = i + 1; } }