C# для новичков, вопросы и ответы |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6827-й день
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
C# для новичков, вопросы и ответы |
Tyomniy |
May 3 2008, 13:06
Пост
#1
|
Репутация: 5 Дух Группа: Пользователи Сообщений: 24 С нами с: 3-June 07 |
Тут я предлагаю все новичкам программирования на C# выкладывать свои вопросы. По возможности, я думаю, все кто в этом что-то шарит будут стараться отвечать !
Тема для обговорення мови програмування C#, всі сторонні коментарі будуть видалятися, а їх автори отримувати % Сообщение отредактировал BoyKot - Jun 11 2008, 20:40 |
Phaust |
Jun 10 2008, 21:40
Пост
#41
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
А если не секрет, зачем такое редкое знание понадобилось? Сборки,динамические классы. |
Livanias |
Jun 11 2008, 1:04
Пост
#42
|
Репутация: 229 Постоялец Группа: Пользователи Сообщений: 1 969 С нами с: 7-September 07 |
Точно, у Троэлсона было - компиляция на лету и т.п. Причем если мне не изменяет памято то необязательно MSIL использовать там кажись и обычные языки подходят.
(дабы не плодить посты)UPD: Ниразу не видел книг по MSIL есть лишь стандарт который предоставляет микрософт. Так что в msdn.microsoft.com надо идти. |
Phaust |
Jun 11 2008, 20:21
Пост
#43
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
Ну тут случай такой,MSIL нужен,поэтому и книга понадобилась именно по нему
|
darknode |
Jun 23 2008, 20:17
Пост
#44
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
А можно по-конкретней? Названия, технологии .NET и т.д. Я допустим уже не один год работаю в фин. сфере и кроме Delphi и Java ничего другого для разработки интерефейса, не видел. И если есть перспекстива реальная, то какие параметры этой платформы более практичны в решении бизнес-задач по сравнении с той же Java EE? P.S.: Я не имею ничего против .NET, но хочется по больше узнать о ней от опытных людей Реальные компании и проекты: LimeSystems->Scrooge (АБС - автоматизированная банковская система: опер.день, СЭП и т.д., насколько знаю используется многими банками украины, причем крупными), WebBank (тут ничего не знаю ), НПФ (негос. пенсионный фонд) (ну а дальше можно в инете поидее найти ). У Финпорта тоже есть проекты на .NET. |
darknode |
Jun 23 2008, 20:52
Пост
#45
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
Точно, у Троэлсона было - компиляция на лету и т.п. Причем если мне не изменяет памято то необязательно MSIL использовать там кажись и обычные языки подходят. Согласен, можно пользоваться CodeGeneration, CodeCompiler. В общем все довольно просто. » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « Сообщение отредактировал BoyKot - Jun 24 2008, 9:51 |
Phaust |
Jun 24 2008, 10:03
Пост
#46
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
darknode - совсем не то! Есть описание класа в XML который используется наподобии DLL. По нему динамически создается сборка.
|
darknode |
Jun 24 2008, 21:54
Пост
#47
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
darknode - совсем не то! Есть описание класа в XML который используется наподобии DLL. По нему динамически создается сборка. Ну может быть и не то. Но исходя из скудного описания задачи приходит на ум несколько вариантов. Если у тебя есть XML в котором описан клас, то можно получив из XML файл(ы) с исходником, скомпилить его в виде сборки(код из примера выше): parameters.GenerateExecutable = false; parameters.GenerateInMemory = true; parameters.OutputAssembly = "XmlCode.dll"; ... ... ... Assembly.Load("XmlCode.dll"); //Так как сборка уже в памяти Соответственно грузим в нужный AppDomain, а если XML изменился, делаем тоже самое, но перед загрузкой сборки, выгружаем старую. А вот чтобы получить из XML исходники для компиляции есть 3 варианта, но тут все зависит от формата XML: 1. XSL преобразование данных из XML в CS-код(или VB). 2. На основе данных в XML сформировать CS-код "вручную", то есть при помощь своего кода. 3. На основе данных в XML сформировать CS-код используя классы для кодогенерации. |
Livanias |
Jun 25 2008, 9:25
Пост
#48
|
Репутация: 229 Постоялец Группа: Пользователи Сообщений: 1 969 С нами с: 7-September 07 |
|
darknode |
Jun 25 2008, 17:44
Пост
#49
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
|
Phaust |
Jun 25 2008, 18:54
Пост
#50
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
Запутано как-то. А вообще то сериализацию напоминает Не угадали Это нужно что бы динамически подключать различные библиотеки(dll) в нужном виде,а XML нужен что бы описать собственно что и как подключаем. |
darknode |
Jun 25 2008, 21:20
Пост
#51
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
Не угадали Это нужно что бы динамически подключать различные библиотеки(dll) в нужном виде,а XML нужен что бы описать собственно что и как подключаем. Добро пожаловать в пытошную А если dll-ки не нативные, то можно просто использовать стандартные средства .NET. А вот если они нативные(тобиш не .NET-сборки), то насколько интуиция подсказывает хочется для них динамически компилить прокси-сборки (http://pinvoke.net/) для .NET (тут в руки рефлекшн и опять же кодогенерация). Если мои мысли "идут" в правильную сторону, то зачем же делать такого сферического коня в вакууме ? |
Phaust |
Jun 25 2008, 21:35
Пост
#52
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
Если мои мысли "идут" в правильную сторону, то зачем же делать такого сферического коня в вакууме ? Чтоб любой "чайник" мог прикрутить любую нужную ему dll-ку к программе. Вобщем "фича" и задача чтоб мозг не расслаблялся Dll причем могут быть как нативные так и не нативные,а xml файл не содержит никакого программного кода,а только стандартизированое описание dll. Пытошная вобщем Ниразу не видел книг по MSIL есть лишь стандарт который предоставляет микрософт. Так что в msdn.microsoft.com надо идти. Они есть Сморти сюда Сообщение отредактировал Phaust - Jun 25 2008, 21:54 |
darknode |
Jun 25 2008, 22:24
Пост
#53
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
Чтоб любой "чайник" мог прикрутить любую нужную ему dll-ку к программе. Вобщем "фича" и задача чтоб мозг не расслаблялся Dll причем могут быть как нативные так и не нативные,а xml файл не содержит никакого программного кода,а только стандартизированое описание dll. Пытошная вобщем Это самый большой сферический конь в вакууме которого я видел (ну кроме компонента для работы с большими объемами данных ). Это какая то система плагинов получается ? Если да, то в таком случае чтобы все было просто dll-ки должны описывать какой то интерфейс для работы с ними, нативные по нативному, а НЕТовские по НЕТовски. И соответственно достаточно просто иметь 1 сборку-прокси для работы с нативными сборками, а с нетовскими на прямую. |
Phaust |
Jun 25 2008, 22:32
Пост
#54
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
"Фича" состоит в том что бы можно было прикрутить ЛЮБУЮ dll,в.т.ч. и стороннего разработчика ,и в.т.ч. чтобы это мог сделать любой идиот(хотя я лично не верю в такую возможность ) А еще то что прикрутили из dll должно согласоватся с внутренней структурой классов приложения.
Это какая то система плагинов получается ? В принципе-да. ЗЫ. Хочу отметить что практический смысл сего близок к нулю но идею забросить жалко |
darknode |
Jun 26 2008, 16:35
Пост
#55
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
"Фича" состоит в том что бы можно было прикрутить ЛЮБУЮ dll,в.т.ч. и стороннего разработчика ,и в.т.ч. чтобы это мог сделать любой идиот(хотя я лично не верю в такую возможность ) А еще то что прикрутили из dll должно согласоватся с внутренней структурой классов приложения. В принципе-да. ЗЫ. Хочу отметить что практический смысл сего близок к нулю но идею забросить жалко Это получается к примеру взять dll из MS Word и подключить к "QIP.NET" Мне кажется что без стандартных интерфейсов в том или ином виде идея обречена на гибель . |
Phaust |
Jun 26 2008, 18:51
Пост
#56
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
Мне кажется что без стандартных интерфейсов в том или ином виде идея обречена на гибель Стандартизация интерфейса происходит на уровне написания XML файла. Это получается к примеру взять dll из MS Word и подключить к "QIP.NET" Грубо говоря да,но на практике нужны математические функции из сторонних DLL. |
darknode |
Jun 26 2008, 21:08
Пост
#57
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
Стандартизация интерфейса происходит на уровне написания XML файла. Грубо говоря да,но на практике нужны математические функции из сторонних DLL. Стандартизацию я подразумеваю примерно так: в софтине есть интерфейс с набором методов к примеру a,b,c,d. В XML описывается какие методы определенного класса считать методами a,b,c,d. Ну и в итоге формировать нужные вызовы по соответствию base.a -> [xml.a] -> dll.ghostly_a. То есть получается некий маппинг методов и их параметров DLL на методы и их параметры в интерфейсе софтины. Не по теме: что то мне кажется что в теме по шарпу только мы и общаемся последнее время ))))) |
Livanias |
Jun 26 2008, 22:11
Пост
#58
|
Репутация: 229 Постоялец Группа: Пользователи Сообщений: 1 969 С нами с: 7-September 07 |
что то мне кажется что в теме по шарпу только мы и общаемся последнее время ))))) Почему же? Нет ) Стандартизацию я подразумеваю примерно так: в софтине есть интерфейс с набором методов к примеру a,b,c,d. В XML описывается какие методы определенного класса считать методами a,b,c,d. Ну и в итоге формировать нужные вызовы по соответствию base.a -> [xml.a] -> dll.ghostly_a. Я думаю что этого можно добиться сформировав код, допустим на до- диез, и скомпилировать во время выполнения (я все еще считаю, что так легче чем набивать MSIL код, что кажись равнозначно, но только с пропуском шага компиляции), потом вызвать, так сказать, импортируемую функцию. Но все равно идея немного не дотягивает до утопии)) Так как конечному пользователю, т.е. любому идиоту, надо описывать методы сторонней длл очень скрупулезно, потому что можно намучится с приведением типов, плюс модификаторами параметров ( *, &, out, ref, мало еще какой). |
Phaust |
Jun 26 2008, 22:17
Пост
#59
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
Но все равно идея немного не дотягивает до утопии)) Идея интересна как задача для мозга,уже писал ЗЫ. Хочу отметить что практический смысл сего близок к нулю но идею забросить жалко т.е. любому идиоту, надо описывать методы сторонней длл очень скрупулезно Само собой Все не так просто как кажется с первого взгляда. Стандартизацию я подразумеваю примерно так: Так оно и есть Суть в том что бы юзер не залезая в исходный код нашей программы смог подключить нужную DLL. Теоретически задача подсилу любому идиоту,но на практике это далеко не так. |
Livanias |
Jul 21 2008, 22:44
Пост
#60
|
Репутация: 229 Постоялец Группа: Пользователи Сообщений: 1 969 С нами с: 7-September 07 |
Есть такой вопрос, возможно он больше для админов, но все же...
Мигрировали с ASP.NET 1.1 на ASP.NET 3.5 все бы хорошо, но! сайт веб-сервисов перестал принимать запросы пользователей, при условии что сайт был изначально по протоколу HTTP_S_ и в настройках было всегда запрашивать правильный сертификат, теперь же он работает только при получение какого либо сертификата или же выключенных сертификатах. Т.е. если у пользователя есть правильный сертификат, то он может зайти на вэб-морду, а на сервисы нет о_О, если включен запрос прав. сертификатов. Что делать и кто виноват? |
Упрощённая версия | Сейчас: 22nd November 2024 - 21:28 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |