>////// This code is in Entry, Winforms UI assembly and has references to >business assembly > >using System.Windows.Forms; >public delegate void ActivateEntityForm<TEntity>(); > >class test >{ > static void Main() > { > //Invalid expression term '>' > new >Customer().DoBusinessLogicAndShowResultFormsUsingFormManager(FormManager.FormCreator<>); > } >} > > >public static class FormManager >{ > public static void FormCreator<TEntity>() > { > Form f = new Form(); > f.Text = typeof(TEntity).Name; > f.Show(); > } >} > >/// Code below resides in business assembly and should not have references >to assembly above > >class Customer >{ > public void >DoBusinessLogicAndShowResultFormsUsingFormManager<TChildEntity>( > ActivateEntityForm<TChildEntity> formCreator) > { > //The variable 'x' cannot be used with type arguments > formCreator<Childentity1>(); > formCreator<Childentity2>(); > } > >} > >class Childentity1 { } >class Childentity2 { } >I am not sure I understand your idea so don't get offended if I get it wrong. It sounds like you are asking for the UI to know all about (have a reference to) the business tier AND the business tier to know about (have a reference to) the UI. It may be that you are having problems because you are attempting to create a circular reference by fooling it. Why is it you need business logic to create forms? Can you just raise an event in the business logic that allows the UI to create it's own form?