1 @interface MyClass 2 +(void)meth; 3 @end 4 5 #define MACRO2(x) (x) 6 #define MACRO(x) MACRO2((x)) 7 test()8 void test() { 9 MACRO([MyClass meth]); 10 } 11 12 #define INVOKE(METHOD, CLASS) [CLASS METHOD] 13 test2()14 void test2() { 15 INVOKE(meth, MyClass); 16 } 17