public void X() { var type = typeof (object); foreach (var propertyInfo in type.GetProperties()) { if(isEntity(propertyInfo)) { var a = new SingleProperty(propertyInfo); //return some NestedAction? } } }