C# для новичков, вопросы и ответы |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6819-й день
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 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 |
Bykoff |
Jul 22 2008, 7:00
Пост
#61
|
Репутация: 7 Дух Группа: Пользователи Сообщений: 82 С нами с: 7-August 07 |
Вопрос по С++
Решил в свободное от учебы время начать учить С++. Первая прога - вывод текста. » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « Пишет что не может открыть файл потока ввода/вывода... в справочнике ничего не нашел, может этот файл где-то "взять" для начала надо? ЗЫ: да, я полный нуб |
Gans |
Jul 22 2008, 9:11
Пост
#62
|
Репутация: 56 Активист Группа: Пользователи Сообщений: 290 С нами с: 2-April 07 |
#include "stdafx.h"
#include <iostream> int main() { std::cout << "Hello in (!!!\n"; return 0; } |
Bykoff |
Jul 22 2008, 9:24
Пост
#63
|
Репутация: 7 Дух Группа: Пользователи Сообщений: 82 С нами с: 7-August 07 |
Нет:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « у него "в мозгу" нету этих файлов ЗЫ: может у меня какой-то TURBO C++ кривой?? Хотя я качал его с сайта МАИ, должен был бы быть нормальным... |
reiten |
Jul 22 2008, 11:43
Пост
#64
|
Репутация: 229 Cтаршой Группа: Пользователи Сообщений: 813 С нами с: 16-January 08 |
Посмотри, сколько этому TURBO C++ лет
О namespace'ах и о многих других конструкциях С++ этот компилятор просто не знает. Если хочешь, чтобы скомпилилось в нем, то писать надо так: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « Но вообще лучше пересесть на нормальный более-менее свежий компилятор типа GCC или MS VC++. |
Gans |
Jul 22 2008, 12:38
Пост
#65
|
Репутация: 56 Активист Группа: Пользователи Сообщений: 290 С нами с: 2-April 07 |
так. постав собі щось посучасніше і не парся. все одно рано чи піно це зробиш. тому краще рано. моя версія працює в MS VS 2008
|
Bykoff |
Jul 22 2008, 13:24
Пост
#66
|
Репутация: 7 Дух Группа: Пользователи Сообщений: 82 С нами с: 7-August 07 |
Прикол в том, что оно вообще не понимает что такое <iostream> или <iostream.h>...
Ладно, поищу что-то другое... просто его еще фиг найдешь, это другое... |
Livanias |
Jul 22 2008, 13:28
Пост
#67
|
Репутация: 229 Постоялец Группа: Пользователи Сообщений: 1 969 С нами с: 7-September 07 |
Заходишь в Options->Directories->Include и прописуешь там путь к заголовочным фаqлам, в твоем случае iostream.h
|
Bykoff |
Jul 22 2008, 13:41
Пост
#68
|
Репутация: 7 Дух Группа: Пользователи Сообщений: 82 С нами с: 7-August 07 |
|
darknode |
Jul 26 2008, 13:08
Пост
#69
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
Есть такой вопрос, возможно он больше для админов, но все же... Мигрировали с ASP.NET 1.1 на ASP.NET 3.5 все бы хорошо, но! сайт веб-сервисов перестал принимать запросы пользователей, при условии что сайт был изначально по протоколу HTTP_S_ и в настройках было всегда запрашивать правильный сертификат, теперь же он работает только при получение какого либо сертификата или же выключенных сертификатах. Т.е. если у пользователя есть правильный сертификат, то он может зайти на вэб-морду, а на сервисы нет о_О, если включен запрос прав. сертификатов. Что делать и кто виноват? За сертификаты в этом случае отвечает не ASP.NET, а IIS а так же домен и сервер сертификации(при условии что он есть), получается нужно копать в этом направлении... |
ArtX |
Aug 1 2008, 13:08
Пост
#70
|
Репутация: 19 Дух Группа: Пользователи Сообщений: 199 С нами с: 15-October 06 |
Есть вопрос к знатокам.
Ковыряюсь в C# в разрезе CompactFramework. И возникла тривиальнейшая проблема - не могу получить путь откуда запущена программа. Каким образом его можно получить? |
undertaker |
Aug 2 2008, 17:17
Пост
#71
|
Репутация: 12 Дух Группа: Validating Сообщений: 45 С нами с: 26-April 06 |
Должно быть так по идее:
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName |
darknode |
Aug 3 2008, 0:45
Пост
#72
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
Ну или так:
Uri exePath = new Uri(Assembly.GetExecutingAssembly().GetName().CodeBase); MessageBox.Show("Executable is at: " + exePath.LocalPath); |
Phaust |
Aug 12 2008, 20:52
Пост
#73
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
Существует XML файл, исходя из которого динамически формирую класс:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « Но вот не смотря на эти строчки: parameters.GenerateExecutable = false; parameters.GenerateInMemory = true; Сборка все равно сохраняется на жестянку. Это можно избежать, или придется после завершения приложения их удалять? Если сборка будет создаваться в памяти, смогу ли я загружать ее так же, как и в том случае? |
Livanias |
Aug 13 2008, 13:51
Пост
#74
|
Репутация: 229 Постоялец Группа: Пользователи Сообщений: 1 969 С нами с: 7-September 07 |
parameters.GenerateExecutable = false; Ну это указывает лишь на то, что ты хочешь длл, а не экзешник. И обрати внимание на этот абзац: You can compile an assembly that is written to memory rather than disk by setting the GenerateInMemory property to true. When an assembly is generated in memory, your code can obtain a reference to the generated assembly from the CompiledAssembly property of a CompilerResults. If an assembly is written to disk, you can obtain the path to the generated assembly from the PathToAssembly property of a CompilerResults. Т.е. из памяти надо загружать из results.CompiledAssembly. А вообще я так понял, что можно компилировать и в память как ты сделал установив parameters.GenerateInMemory = true;. Но не понял, полюбому ли создатся файл на диске. |
Phaust |
Aug 13 2008, 18:18
Пост
#75
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
Т.е. из памяти надо загружать из results.CompiledAssembly. Создается и загружается. Проблема в том что создается одновременно с этим и на диске,а хотелось бы что бы не создавалось. |
darknode |
Aug 13 2008, 22:41
Пост
#76
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
Попробовал написать, все ок, достаточно не использовать OutputAddembly и не указывать имя файла.
Тут исходник консольного приложения, которое делает то что нужно, не пишет сборку на диск: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « Но мне кажется лучше писать намеренно сборки на диск, чтобы если в источнике кода сам код не изменился то и перекомпиливать сборку не нужно, а в итоге для проверки хранить пару значений: имя файла сохраненной сборки, чексумму исходника сборки при последней компиляции (желательно использовать алгоритм вычисления без потерь для чексуммы, будет эффективнее). |
Phaust |
Aug 14 2008, 21:15
Пост
#77
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
Спасибо,помогло!:) Теперь, следующий вопрос
У меня в классе объявлен вот такой массив: protected object [] _IO; В процессе работы с классом элементы могут иметь разные типы. Как-то можно в обычном (не динамически сгенерированном) классе генерить свои свойства (для доступа к отдельным элемента массива)? В моем случае я использую ПропертиГрид для изменения элементов массива, что очень удобно, но не всегда этот массив полностью сформирован на момент компиляции. Была мысль использовать коллекции, в которых элементы имеют ключ-значение, но в пропертигрид отображается не так, как мне нужно. Может можно "научить" ПропериГрида отображать массив в нужном виде, доступаться к элементам как к отдельным свойствам? Ну естессно так, чтобы остальные свойства тоже отбражались. |
undertaker |
Aug 15 2008, 17:07
Пост
#78
|
Репутация: 12 Дух Группа: Validating Сообщений: 45 С нами с: 26-April 06 |
Можно подробнее? Какие объекты хранятся в массиве и что должен отображать PropertyGrid?
|
Phaust |
Aug 15 2008, 19:35
Пост
#79
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
Чтобы было яснее, массив - это входы/выходы блока, который выполняет какие-то математические вычисления (их много).
Так вот, для тех блоков, которорые я сам писал, массив полностью определен на момент компиляции, и я могу написать для этого и свойства, которые отобразятся в ПропертиГрид. Но для части из них массив генерируется автоматически (считывается инфа с ХМЛ файла), хотелось бы получить такое же поведение блоков. В принципе коллекции можно использовать как мостик между ПропертиГрид и массивом, но это будет не самое лучшее решение. |
darknode |
Aug 15 2008, 22:33
Пост
#80
|
Репутация: 4 Дух Группа: Пользователи Сообщений: 37 С нами с: 15-December 07 |
В существующий класс не получится добавить проперти.
Можно динамически генерировать класс с нужными пропами для проперти-грида. |
Упрощённая версия | Сейчас: 15th November 2024 - 5:50 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |