using System;
namespace Chapter01All
{
class Ano
{
public int Syukei(int l)
{
int w = 0;
for (int i = 1; i <= l; i++)
{
w += i;
}
return w;
}
}
class Demo
{
static void Main()
{
Ano obj = new Ano();
Console.WriteLine(obj.Syukei(10));
}
}
}
class AnoのインスタンスからSyukeiを呼ぶ場合。
using System;
namespace Chapter01All
{
class Ano
{
public static int Syukei(int l)
{
int w = 0;
for (int i = 1; i <= l; i++)
{
w += i;
}
return w;
}
}
class Demo
{
static void Main()
{
//Ano obj = new Ano();
Console.WriteLine(Ano.Syukei(10));
}
}
}
Syukeiをstatic に変えると、インスタンスでなくなるので、呼び出す方はAno.Syukei(10)とかになる。
using System;
namespace Chapter01All
{
delegate int AnoSyukei(int limit);
class Demo
{
static void Main()
{
AnoSyukei syukei = delegate (int limit)
{
int w = 0;
for (int i = 1; i <= limit; i++)
{
w += i;
}
return w;
};
Console.WriteLine(syukei(10));
}
}
}
匿名メソッドに変えてみました。通常のメソッド呼び出し(つまり上の2例のように)の構文によってメソッドを呼び出すことが無い場合、使えるということです。