Csharp/CSharp Tutorial/Class/Class as Parameter — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 12:16, 26 мая 2010
Passing ref-types by ref
using System;
class Person
{
public string fullName;
public int age;
public Person(string n, int a)
{
fullName = n;
age = a;
}
public void PrintInfo()
{
Console.WriteLine("{0} is {1} years old", fullName, age);
}
}
class MainClass
{
public static void SendAPersonByReference(ref Person p)
{
p.age = 555;
p = new Person("TOM", 999);
}
public static void Main()
{
Person mel = new Person("Mel", 23);
mel.PrintInfo();
SendAPersonByReference(ref mel);
mel.PrintInfo();
}
}
Mel is 23 years old TOM is 999 years old
Use interface as a parameter
interface Animal
{
}
class Dog : Animal
{
}
class Cat : Animal
{
}
class MainClass
{
static void ListenToMe( Animal listener )
{
}
static void Main()
{
Dog dog = new Dog();
Cat cat = new Cat();
ListenToMe( dog );
ListenToMe( cat );
}
}