using System;
namespace NMSSisokuenzan
{
class SisokuEnzan
{
int firstNumber;
int secondNumber;
int wa;
int sa;
int seki;
double waru;
public SisokuEnzan(int x, int y)
{
firstNumber = x;
secondNumber = y;
}
public void Kasan()
{
wa = firstNumber + secondNumber;
}
public void Genzan()
{
sa = firstNumber - secondNumber;
}
public void Kakezan()
{
seki = firstNumber * secondNumber;
}
public void Warizan()
{
waru = (double)firstNumber / secondNumber;
}
public int PKasan
{
get
{
return wa;
}
}
public int PGenzan
{
get
{
return sa;
}
}
public int PKakezan
{
get
{
return seki;
}
}
public double PWarizan
{
get
{
return waru;
}
}
}
}
namespace SisokuEnzanDemo
{
class EnzanDemo
{
static void Main()
{
NMSSisokuenzan.SisokuEnzan obj = new NMSSisokuenzan.SisokuEnzan(100, 200);
obj.Kasan(); obj.Genzan(); obj.Kakezan(); obj.Warizan();
Console.WriteLine(obj.PKasan);
Console.WriteLine(obj.PGenzan);
Console.WriteLine(obj.PKakezan);
Console.WriteLine(obj.PWarizan);
}
}
}
クラスの定義部分と実行部分を別の名前空間にして、実行部分では名前空間で修飾して、クラスを使っています。すべてが一個のファイルになっています。
using System;
namespace NMSSisokuenzan
{
class SisokuEnzan
{
int firstNumber;
int secondNumber;
int wa;
int sa;
int seki;
double waru;
public SisokuEnzan(int x, int y)
{
firstNumber = x;
secondNumber = y;
}
public void Kasan()
{
wa = firstNumber + secondNumber;
}
public void Genzan()
{
sa = firstNumber - secondNumber;
}
public void Kakezan()
{
seki = firstNumber * secondNumber;
}
public void Warizan()
{
waru = (double)firstNumber / secondNumber;
}
public int PKasan
{
get
{
return wa;
}
}
public int PGenzan
{
get
{
return sa;
}
}
public int PKakezan
{
get
{
return seki;
}
}
public double PWarizan
{
get
{
return waru;
}
}
}
}
using System;
namespace SisokuEnzanDemo
{
class EnzanDemo
{
static void Main()
{
NMSSisokuenzan.SisokuEnzan obj = new NMSSisokuenzan.SisokuEnzan(100, 200);
obj.Kasan(); obj.Genzan(); obj.Kakezan(); obj.Warizan();
Console.WriteLine(obj.PKasan);
Console.WriteLine(obj.PGenzan);
Console.WriteLine(obj.PKakezan);
Console.WriteLine(obj.PWarizan);
}
}
}
クラスの定義部分と実行部分を別の名前空間にして、実行部分では名前空間で修飾して、クラスを使っています。今回はファイルを分けました。でも、名前空間でクラス名を修飾は同じ。
using System;
using NMSSisokuenzan;
namespace SisokuEnzanDemo
{
class EnzanDemo
{
static void Main()
{
SisokuEnzan obj = new SisokuEnzan(100, 200);
obj.Kasan(); obj.Genzan(); obj.Kakezan(); obj.Warizan();
Console.WriteLine(obj.PKasan);
Console.WriteLine(obj.PGenzan);
Console.WriteLine(obj.PKakezan);
Console.WriteLine(obj.PWarizan);
}
}
}
クラスの定義部分と実行部分を別の名前空間にして、別ファイルです。今回は名前空間でクラスを修飾で無くて、先頭部分にusing使うことで、修飾を省いてます。クラスの定義部分は同じです。これをusingディレクティブというようです。
using System;
//using NMSSisokuenzan;
namespace SisokuEnzanDemo
{
using MyNS = NMSSisokuenzan.SisokuEnzan;
class EnzanDemo
{
static void Main()
{
MyNS objMyNS = new MyNS(100, 200);
//SisokuEnzan obj = new SisokuEnzan(100, 200);
objMyNS.Kasan(); objMyNS.Genzan(); objMyNS.Kakezan(); objMyNS.Warizan();
Console.WriteLine(objMyNS.PKasan);
Console.WriteLine(objMyNS.PGenzan);
Console.WriteLine(objMyNS.PKakezan);
Console.WriteLine(objMyNS.PWarizan);
}
}
}
using ディレクティブのもう一つの形ということで、MyNSはNMSSisokuenzan.SisokukEnzanのエイリアスというようです。少し混乱気味です。”(-“”-)”