Как я могу создавать методы расширения .Net с помощью C ++ / CLI?

Насколько я могу сказать решения, данные Ryan Fox ( 58343 , христианин ( 58444 ), и Вы ( 58461 ) почти так же хороши, как это добирается. Я не полагаю, что обход в ширину помогает в этом случае, поскольку Вы не получите все пути. Например, с краями (A,B), (A,C), (B,C), (B,D) и (C,D) Вы получите пути ABD и ACD, но не ABCD.

21
задан KiKi 16 May 2011 в 01:56
поделиться

1 ответ

Вам просто нужно украсить метод и содержащий класс с помощью ExtensionAttribute :

using namespace System::Runtime::CompilerServices;
...

[ExtensionAttribute]
public ref class MyExtensions abstract sealed {
    public:        
        [ExtensionAttribute]
        static ReturnType MyExt(ExtType ^ext) {
            ...
        }
};
41
ответ дан 29 November 2019 в 20:35
поделиться