Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2010, 16:26   #1
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию Каким образом можно узнать сборку, которой принадлежит определенный класс?

Всем доброго.
Работаю с новой немецкой системой ePlan. Она имеет возможность обрабатывать документы особым способом, задаваемым программистом с помошью макросов.
Вот макрос для печати:
Код:
public class Script
{
	[Start]
	public void AutoTreat(String ProjectName)
	{
		Progress progress = new Progress("SimpleProgress");
		progress.BeginPart(100,"");
		progress.SetAllowCancel(true);
		if(!progress.Canceled())
		{
			progress.BeginPart(100,"Print");
			ActionCallingContext printContext = new ActionCallingContext ();
			printContext.AddParameter("LogMsgActionDone","true");
			printContext.AddParameter("NUMBER","1");
			printContext.AddParameter("PRINTCHANGEDPAGES","0");
			printContext.AddParameter("PRINTREVERSE","0");
			printContext.AddParameter("PRINTCOLLATE","0");
			printContext.AddParameter("PRINTERNAME",@"\\Ogk_3_2\pdfFactory Pro");
			printContext.AddParameter("PROJECTNAME",ProjectName);
			printContext.AddParameter("TYPE","PROJECT");
			new CommandLineInterpreter().Execute("print",printContext);
			progress.EndPart();
		}
		progress.EndPart(true);
	}
}
Вроде как ниче сложного, кроме одного:

Задача: Нужно написать программу пакетной обработки в C# либо на Visual Studio либо в Delphi.NET что в принципе безразлично но тут одна проблема:

Проблема: Я не могу понять к какой сборке (пардон, какое пространство имен использовать) пренадлежат типы в этом макросе.

Отсюда вопрос
Есть ли возможность (учитывая отсутствие мануалов) узнать в какой сборке находятся этот ActionCallingContext, что подключить и написать обычную программу, взаимодействующую с ePlan'ом?

P.S. кстати, кто занимался еПланом этим просьба подсказать где можно достать хоть какие-то мануалы по его API
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.02.2010, 11:00   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Сам никогда не работал с этим, но вот, что нашел.
Полное имя: Eplan.EplApi.ApplicationFramework.A ctionCallingContext
и поэтому у меня есть предположение, что данный класс находится eplan.dll

Можешь попробовать так(при условии, что сборка с этим классом загружена в память):
Код:
public Type GetYourType(string name)
{
	Type newType = null;

	if (newType == null)
	{
		newType = typeof (String).Assembly.GetType(name, false);
	}

	if (newType == null)
	{
		Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
		foreach (Assembly assembly in assemblies)
		{
			newType = assembly.GetType(name, false);
		           if (newType != null)
			{
			break;
			}
		}
	}
	return newType;
}
Hollander вне форума Ответить с цитированием
Старый 08.02.2010, 15:19   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
что данный класс находится eplan.dll
Ну и ну... К тож так пишет системы... Ну и немцы.
Прикол в том что RegAsm когда я им пытался создать tlb, упал на AV.
Но сами сборки вроде success registred. И в принципе я в Solution их добавил, но вот беда:

http://programmersforum.ru/showthread.php?t=83948

P.S. Заранее извиняюсь,если эти темы наверное моими коллегами рассчитаются как кросспостами.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Каким образом можно изменить интервал между буквами в экселе? Sirius2w Microsoft Office Excel 3 13.12.2009 18:28
Каким образом можно доработать таймер? makcdrom JavaScript, Ajax 2 23.09.2009 22:29
Каким образом можно установить предел?? Xander Общие вопросы Delphi 4 23.11.2008 10:27
найти, каким образом можно получить длину строки. igroman Общие вопросы Delphi 2 25.05.2008 17:52