public int AnyClassReponseRefToCallAMethod <reponseClass, response>() where reponseClass : IBaseInterface <response> where response : IGenericInterface { IBaseInterface <response> genReponse = (reponseClass)Activator.CreateInstance(typeof(reponseClass)); var gen = (response)Activator.CreateInstance(typeof(response)); genReponse.SetReponse(gen); RefMethod(ref genReponse); var genMoop = genReponse.boop(); return(genMoop); }