Препроцессор определяет - PullRequest
       6

Препроцессор определяет

0 голосов
/ 29 ноября 2010

Довольно простой вопрос, возможно ли написать директиву препроцессора C #, чтобы я мог сделать следующее?:

ClassZ<A, B, C, D, E, F>

до

ClassZ<T>

, где

T = <A, B, C, D, E, F>

Ответы [ 3 ]

6 голосов
/ 29 ноября 2010

Это несколько возможно.

Вы можете написать

using ClassZT = ClassZ<A, B, C, D, E, F>;

Обратите внимание, что если вы не поместите это в блок namespace, вам нужно будет полностью указать каждое имя.

Тем не менее, вы не можете настроить параметр так, как вам кажется.

3 голосов
/ 29 ноября 2010

Нет.C # #define не допускает замены макросов или текста.Он может использоваться только для определения токенов для использования в директивах #if.

1 голос
/ 29 ноября 2010

Если вы планируете реализовать препроцессор самостоятельно, нет причин, по которым вы не можете ... Но C # (по крайней мере, стандартная версия Microsoft) не имеет макросов препроцессора, таких как C или C ++

...