Как переименовать типы c # в Visual Studio? - PullRequest
2 голосов
/ 18 апреля 2011

Мне нужно переопределить тип с именем «Matrix4» на «Matrix», чтобы все ссылки на «Matrix» перенаправляли на «Matrix4».Есть ли простой способ сделать это, не делая ничего радикального, как обертка?

Мне нужна эта причина для включения условных библиотек.

    #if USE_XNA
        using Library = XNA;
    #elif USE_OPENTK
        using OpenTK;
    #endif
    #if USE_OPENTK
        //Set "Matrix4" references to "Matrix"
    #endif

Matrix4 в OpenTK примерно того же типакак тип Matrix в XNA, за исключением того, что он имеет другой идентификатор

Ответы [ 3 ]

4 голосов
/ 18 апреля 2011

Либо вы переименовываете Matrix4 в Matrix, как сказал Random832, либо вы объявляете псевдоним:

using Matrix = Namespace.Matrix4;
3 голосов
/ 18 апреля 2011

Щелкните правой кнопкой мыши на имени, выберите «Refactor -> Rename ...».

Это будет обрабатывать все в рамках решения. Если это публичный класс в библиотеке, вам может потребоваться изменить что-либо еще, что также использует его.

0 голосов
/ 18 апреля 2011

Я бы не назвал класс-обёртку "радикальным", я бы назвал это правильным решением.

Если что-нибудь еще отличается между интерфейсами этих двух библиотек - именами методов, типами параметров методов, даже порядком параметров - вы в значительной степени связаны.

Вы должны обернуть Matrix/Matrix4 в интерфейс оболочки и использовать этот интерфейс во всей программе ... и делать то же самое для любых других классов, которые вам нужны из двух библиотек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...