Как я могу получить уведомления Instagram, чтобы активировать аппаратную лампочку?

Вы можете использовать методы Linq, определенные в пространстве имен System::Linq, но вам придется перепрыгнуть через несколько дополнительных обручей.

Во-первых, C ++ / CLI не поддерживает методы расширения. Однако методы расширения являются регулярными методами, определенными на разных классах в System::Linq, поэтому вы можете их напрямую вызвать.

List<int>^ list = gcnew List<int>();
int i = Enumerable::FirstOrDefault(list);

Во-вторых, C ++ / CLI не поддерживает лямбда-выражения. Единственным обходным решением является объявление фактического метода и передача его как делегата.

ref class Foo
{
public:
    static bool GreaterThanZero(int i) { return i > 0; }

    void Bar()
    {
        List<int>^ list = gcnew List<int>();
        int i = Enumerable::FirstOrDefault(list, gcnew Func<int, bool>(&Foo::GreaterThanZero));
    }
}
0
задан DjSh 18 March 2019 в 17:15
поделиться