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