/*★ Class Parameter を渡す 前田 稔 ★*/
using System;
class Prog
{
static string str;
static int[] ary;
static MyCls cls;
public static void Main()
{
str = new string(new char[]{'s','t','r','i','n','g'});
ary = new int[3]{ 1, 2, 3 };
cls = new MyCls("Message", 123);
Console.WriteLine("str:{0}", str);
Console.WriteLine("ary[0]:{0} ary[1]:{1} ary[2]:{2}", ary[0],ary[1],ary[2]);
cls.Print();
Console.WriteLine("\n*Function Call\n");
func(str, ary, cls);
Console.WriteLine("str:{0}", str);
Console.WriteLine("ary[0]:{0} ary[1]:{1} ary[2]:{2}", ary[0],ary[1],ary[2]);
cls.Print();
}
static void func(String str, int[] ary, MyCls cls)
{
str = "Function Call";
ary[0] = 9;
ary[1] = 8;
ary[2] = 7;
cls.d1 = "Func String";
cls.d2 = 999;
}
}
class MyCls
{
static string str= "";
static int val;
// Constructor
public MyCls(string msg, int v)
{
str = msg;
val = v;
}
public string d1
{
get
{ return str; }
set
{ if (value!=null) str= value; }
}
public int d2
{
get
{ return val; }
set
{ if (value>0) val= value; }
}
public void Print()
{
Console.WriteLine("MyCls str:{0}", str);
Console.WriteLine("MyCls val:{0}", val);
}
}
|