#include "stdafx.h"
using namespace System;
using namespace System::Collections::Generic;
ref class MyClass{
public:
String^ Value;
MyClass(String^ in);
virtual String^ ToString() override;
static bool hasX(MyClass^ val);
static void formatString(MyClass^ val);
};
MyClass::MyClass(String^ in) : Value(in) {}
String^ MyClass::ToString() { return Value; }
bool MyClass::hasX(MyClass^ val)
{
return val->Value->ToUpper()->IndexOf("X") > 0;
}
void MyClass::formatString(MyClass^ val)
{
val->Value = String::Format("** {0} **", val->Value);
}
void main(){
List<MyClass^>^ alist = gcnew List<MyClass^>();
alist->Add(gcnew MyClass("One"));
alist->Add(gcnew MyClass("-"));
alist[1] = gcnew MyClass("Three");
for (int i = 0; i < alist->Count; i++)
Console::WriteLine("{0} ", alist[i]);
List<MyClass^>^ x = alist->FindAll(gcnew Predicate<MyClass^>(MyClass::hasX));
}
|