void tbInput_KeyDown(sender, e)
{
if (e.KeyCode = Keys.Enter)
{
try
{
CurrentItem.Run(tbInput.Text.Trim());
IncrementCurrentItem();
CurrentItem.Ready();
}
catch (CheckException ex)
{
lbErrorMessage.Text = ex.Message;
currentItemIndex = 0;
CurrentStatus = Status.Failure;
}
}
}
Item CurrentItem
{
get { return items[currentItemIndex]; }
}
void IncrementCurrentItem()
{
if (currentItemIndex + 1 < items.Count())
{
currentItemIndex++;
}
else
{
currentItemIndex = 0;
CurrentStatus = Status.Success;
}
}
-------------------------------------------------
void Initialize()
{
items.Add(NewItemA());
items.Add(NewItemB());
items.Add(NewItemC());
}
Item NewItemA()
{
return new Item(
"Aを入力してください。",
i =>
if (i.Length != 12)
{
throw new CheckException("12桁じゃないよ");
}
this.a = i;);
}
Item NewItemB()
{
return new Item(
"Bを入力してください。",
i =>
if (i.Length != 5)
{
throw new CheckException("5桁じゃないよ");
}
this.b = i;);
}