Класс в классе

virus_system
Дата: 13.01.2010 14:11:07
Есть код
public class Class1
{
	public Class1()
	{
	}

	public void Method1()
	{
	}

	public class Class2
	{
		public Class2()
		{			
		}
	}
}
Подскажите как мне в конструкторе класса Class2 вызвать метод Method1 класса Class1?
virus_system
Дата: 13.01.2010 14:43:25
Забыл еще написать в классе Class1 определяется экземпляр класса Class2.
public class Class1
{
        private Class2 class2;
        public Class2 CLASS2
        {
           get{return class2}
        }
        public Class1()
        {
        }
 
        public void Method1()
        {
        }
 
 
        public class Class2
        {
                public Class2()
                {
                }
        }
}
Andrew1411
Дата: 13.01.2010 14:45:52
если устроит преобразование Method1() в статический, то так:
public class Class1
{
	public Class1()
	{
	}

	public static void Method1()
	{
	}

	public class Class2
	{
		public Class2()
		{			
			Class1.Method1();
		}
	}
}

Иначе передавайте в конструктор инстанс класса Class1, т.е.:
Andrew1411
Дата: 13.01.2010 14:47:25
сорри, не то нажал :)
если устроит преобразование Method1() в статический, то так:
public class Class1
{
	public Class1()
	{
	}

	public static void Method1()
	{
	}

	public class Class2
	{
		public Class2()
		{			
			Class1.Method1();
		}
	}
}

Иначе передавайте в конструктор инстанс класса Class1, т.е.:
	public class Class2
	{
		public Class2(Class1 parent)
		{			
			parent.Method1();
		}
	}
virus_system
Дата: 13.01.2010 14:56:20
Andrew1411, спасибо.

А еще такой вопрос. А нельзя ли мне в классе Class2 определить событие, которое происходило бы при вызове метода Method1 в классе Class1?
Andrew1411
Дата: 13.01.2010 15:01:49
virus_system
Andrew1411, спасибо.

А еще такой вопрос. А нельзя ли мне в классе Class2 определить событие, которое происходило бы при вызове метода Method1 в классе Class1?


в класс Class1 поместите: public event EventHandler Method1Execute;

в Method1 впишите
Andrew1411
Дата: 13.01.2010 15:03:26
блин...
в класс Class1 поместите: public event EventHandler Method1Execute;

в Method1 впишите

if(Method1Execute != null)
Method1Execute(this, EventHandler.Empty);


в во втором классе подписывайтесь на событие.
virus_system
Дата: 13.01.2010 15:19:10
Andrew1411, не совсем понятно. Можно поподробнее?
Andrew1411
Дата: 13.01.2010 15:25:39
virus_system,

Ладно, я сегодня добрый, напишу код, но скажите, метод статический или динамический? от этого будет зависеть событие (класса или экземпляра) и код, подписывающий класс 2 на событие первого класса
Andrew1411
Дата: 13.01.2010 15:27:06
хотя пора уже и литературу почитать, а лучше MSDN