using System;

class MyType
{
	//field
	int _age;
	//field
	public string name;
	//constructor
	public MyType()
	{
		name = "Jim";
	}
	//method
	public void SayHello()
	{
		Console.WriteLine("hello");
	}
	//property
	public int Age
	{
		set { _age = value; }
		get { return _age; }
	}
	// this event doesn't do anything
	// won't compile without MyEvent or EventHandler being declared 
	//public event EventHandler MyEvent;

	//nested type
	class NestedType
	{
		//some members
	}
}

// property declaration
public class Person
{
	string _name;
	public string Name
	{
		set { _name = value; }
		get { return _name; }
	}
}

public class App
{
	static void Main()
	{
		Person p = new Person();
		//set the property this uses the value parameter
		p.Name = "Jim";
		//get the property
		System.Console.WriteLine(p.Name);
	}
}

