Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Народ, кто знаен сайты с бесплатными компонентами для .NET поделитесь плиз инфой.
Сейчас зашли в тупик так как не можем найти нормальный компонент для работы с COM портами! в NET 2.0 поддержка есть, но мы пока пишем только под 1.1
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Сенкс мне уже прислали хорошую библу для работы с портами.
_________
Теперь вопрос несколько иного плана. На Delphi у меня была процедура, параметром в которую передавался class, а не переменная. Тоесть передавался какойто грубо говоря тип.
procedure FindThis(F:TformClass);
эта процедура получив этот класс, искала уже созданные обьекты и при нахождении делала некоторые операции. Не важно что и зачем она эта делала. Самое главно, что в процедуру передавался ТИП, а не переменная этого типа и эта процедура далее сама создавала переменные этого типа, даже не знаю с каким типом работает.
Как оное провернуть на C#?
процедура будет делать тоже самое и на входе она должна будет получить класс формы, а не переменную этого класса
Код:
public class Form2 : System.Windows.Forms.Form
Надо сделать так FindThis(Form2); Пока никак не могу найти , что-то похожее на Дельфийский вариант. Видимо плохо обьясняю так как сам мало понял из своей же писанины Давайте проще. Вот так к примеру создаю MDI child форму
Код:
Form2 form= new Form2(); form.MdiParent=this; form.Show();
Теперь представим что мне нужна функция, которая принимает как параметр класс и сама создает форму. Мне малость тяжело после Delphi переключать мозги на C#, может там и есть что-то более легкое для этого дела.
Код:
private void RunForm({тут надо передать класс формы}, bool allow_multi) { ---------делаем что нибудь, всякие проверки и т.д. тут создаем переменную того типа, что передали в форму. }
Добавлено спустя 5 минут, 19 секунд:
Daemon писал(а):
сваяеть библиотеку на VC++ и подключить к .net проэкту
Ну а на кой мне тогда .NET вообще понадобился? Не, тут хочется чтобы все было в нативном варианте! Без unsafe кода
private void RunForm(string NewFrmTypeName, /*это уже на усмотрение*/ bool allow_multi) { Type t = Type.GetType(NewFrmTypeName); //проверка что t != null //проверка что NewFrmTypeName унаследован от System.Windows.Forms.Form (пройтись по всей иерархии до встречи). // или проверить что f != null (он не привидёт к Form если не сможет и результат будет null), наверно так даже проще Form f = t.TypeInitializer.Invoke() as Form; f.Show(); }
Member
Статус: Не в сети Регистрация: 18.02.2005 Откуда: Москва
Ray Adams писал(а):
Вот такой вариант не пашет, ругается
И правильно ругается.
Код:
using System;
namespace ConsoleApplication4 { class Class1 { [STAThread] static void Main(string[] args) { Type t = typeof(Test); CreateInstance(t); }
public static void CreateInstance(Type t) { // Ищем конструктор с заданными параметрами и вызываем его, получаем экземпляр object test = t.GetConstructor(new System.Type[0]).Invoke(new System.Type[0]);
// Проверяем, что получили if (test is Test) Console.WriteLine(((Test)test).TestParam); else Console.WriteLine("blah"); } }
Member
Статус: Не в сети Регистрация: 29.09.2004 Откуда: Moscow-city
Smoke
Smoke писал(а):
-ничего из серии "Библия...", такие толстенные рыжие книги...я еще ни одной хорошей книги этой серии не читал.. кстати есть VB.NET из этой серии
Visual C++.Net (Том Арчер и Эндрю Уайтчепел) - читал? По-моему очень достойная книга. Там все зависит от авторов, а не от издателства и серии и поэтому я не советую бросаться такими заявлениями: "те рыжие книжки - полная чушь" не прочитав их все без исключения.
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
DenisMak писал(а):
массив 0 длины типа System.Type (System.Type[])
Блин я торможу видимо _____
А также выполз вопрос по ASP.NET. Чисто теоретический. Насколько быстро будет работать все это дело в интернете, а не в интранете? Я к примеру для баловства дома тыкаю его, так вот к примеру чтобы обработать изменение скажем checkbox страница перегружается! Я понимаю, что это все моно запросто сделать на JavaScript, но тут возникает вопрос, а на кой тогда мне надо на C# это дело ваять? Вот хоть убейте пока не вижу чем ASP.NET крут, кроме того, что ты пишеш спокойно на C# все что тебе надо. Но ведь скорость работы в интернете одна из важнейших составляющих сайтов!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения