#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^ alist = gcnew List();
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]);
alist->ForEach(gcnew Action(MyClass::formatString));
for each(MyClass^ str in alist)
Console::WriteLine("{0} ", str);
}