|
|
Другие темы раздела | |
C# Оригинальный интерфейс
https://www.cyberforum.ru/ csharp-net/ thread174487.html Можно ли самому нарисовать внешний вид контролов из winforms, сохранив при этом их логику, чтобы не пришлось полностью создавать свой контрол. Немного слышал про mvc, mvp, хотя не уверен то это или нет, ведь они только помогают отделить логику от внешнего представления, а не создать его. |
Проверка на соответствие C# Необходимо сделать проверку на соответствие маски фразы, маска вида asd*фывд? где * - любое количество любых символов, а ? - любой один символ. Какими методами лучше пользоваться для проверки строк? Что-то думаю, а алгоритм в голову не лезет ) |
C# Дерево
https://www.cyberforum.ru/ csharp-net/ thread174227.html Есть совокупность групп. Каждая из групп состоит из одинаковых слов. Состав слов в группах разный. Необходимо для данных групп организовать дерево. Соответсвенно первый Нод дерева (Root) - первое слов в группе, остальные ноды - Children, предпоследний нод группы должен быть помечен как ChildrenLast. Вот, бьюс как реализовать пооригинальней. Может у кого-нибудь есть предложения? PS... |
C# вопрос к среде
https://www.cyberforum.ru/ csharp-net/ thread174193.html Скажите пожалуйста ,можно ли где-нибудь отдельно скачать панель элементов к Visual Studio? или надо заново скачивать? |
Получение RSS C# Здравствуйте! Подскажите, как можно получить RSS и чтоб каждая "новость" была в отдельной строке? |
C# Эффекты изображений
https://www.cyberforum.ru/ csharp-net/ thread174109.html Здравствуйте! Мне в приложении нужно организовать обработку изображений (преобразование в различный цветовые системы, добавления эффектов сепии, негатива, полутонов, и т.д.). Но перерыв весь интернет за несколько дней нашел только как сделать негатив. Что и самому догадаться не сложно. Может кто подскажет где можно найти материал по данному вопросу в интернете? Если нет с примерами на данном... |
C# DataGridView Loader Привет всем! Мне хотелось бы реализовать программу с DataGridView То есть чтобы при нажатии на кнопку "Load" открывался "OpenFileDialog" и открывал файл *.txt. В файле *.txt записи: База: New Должность: New И при нажатии кнопки Load в DataGridView загружался этот файл и отображалось это: База: New https://www.cyberforum.ru/ csharp-net/ thread173964.html |
C# Программа поиска в реестре Ребят, вот делаю сейчас точную копию редактора реестра виндовс Многие решения уже сделал, но никак не могу понять даже сам принцип, по которому работает поиск в реестре Кто сталкивался, подскажите плиз, какой алгоритм реализовывать? Или быть может есть примеры какие? а то углубляюсь в кучу рекурсий и то и дело постоянно сталкиваюсь с тем, что теряю ссылки на ключи, понимаю что вызвано это... |
C# Трудности с отображением шрифта
https://www.cyberforum.ru/ csharp-net/ thread173843.html Пишу программу и возникла проблема, заключается в том что мне надо использовать определенный, внутрифирменный шрифт, который в среде Visual Studio и в документе Word выглядит немного по разному, т.е. в ворде выглядит отлично в любом размере, в обычном блокноте а также в visual studio выглядит более менее приемлимо только начиная с размера в 14 , меньше - выглядит коряво, но в любом случае видны... |
C# Работа с XML - файлом Необходимо считывать данную структуру XML-файла для дальнейшей работы с ней, а затем сохранять при создании в моем случае новой записи, т.е записывать в файл, в точно таком же виде. Структура XML-файла представлена ниже. Меня интересует в чем и как можно хранить данную структуру, в массиве, в листе, и как именно. Можно конечно сделать просто, взять и каждому файлу сделать соответствие Имя... https://www.cyberforum.ru/ csharp-net/ thread173748.html |
Как ассоциировать расширение со своим приложением и открыть файл своей программой C# На последней стадии реализации своей программы задался вопросом. А как сделать так, что бы при открытии определённого файла, он открывался бы в программе? Суть в том, что делаю Music Player и хотелось бы сделать так, что бы когда открываю музыкальный файл из проводника, он открывался бы программой и воспроизводился. Никто не знает ли как реализовать это? :) |
C# Реализация ГОСТ Р 34.10-2001
https://www.cyberforum.ru/ csharp-net/ thread173565.html Нужно реализовать стандар Электроной цифровой подписи ГОСТ Р 34.10-2001 на C# (windows form application). Имею множество отдельных классов реализующих даный ГОСТ также есть проект на C# но консольный и работающий некоректно все матириалы если нужно скину. Вот что нужно получить но коечто доработать а именно: 1. параметры должны генерироваться (ключ подписи) 2. должен показоваться хеш код... |
Заблокирован
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Отражение, метаданные, атрибуты - C# - Ответ 101708310.10.2010, 20:57. Показов 88816. Ответов 1
Метки (Все метки)
Одной из особенностей платформы .NET является то, что программы, написанные под неё, не превращаются в монотонные последовательности машинных инструкций, разобрать которые - весьма нетривиальная задача в общем случае, а наоборот, сохраняют первоначальную структуру (включая иерархию классов и т.п.), а также снабжаются подробной информацией о том, где и что лежит и что из себя представляет. Такая информация, такие данные о данных (о программе), называются метаданными.
Часть метаданных генерируется компилятором. Часть можно задавать самому в программном коде при помощи атрибутов. Используется она тоже всюду: и средой исполнения, и программистом (по мере необходимости с помощью системы отражения (reflection)). Далее для примеров я буду использовать такие типы:
Оператор is позволяет определить, совместим ли объект с указанным типом. Если ссылка содержит null, оператор is вернёт false. Объявление неявного оператора преобразования из типа в тип (в данном случае из A в C и/или обратно) никак на оператор is не повлияет.
Оператор as является оператором приведения, позволяя приводить объект к любому типу. В случае, если приведение не удалось, возвращается null.
Также нужно заметить, что оператор as не выполняет, например, преобразования определённые пользователем. Оператор typeof и класс System.Type. Класс System.Type описывает тип данных и с помощью своих методов и свойств открывает доступ к чтению метаданных этого типа. Получить экземпляр данного класса для типа можно несколькими способами:
Некоторые свойства-предикаты класа Type:
Для примера расширим класс A, добавив в него несколько методов:
Код
MethodHello MethodWorld ToString Equals GetHashCode GetType Само собой процессом получения методов можно управлять. Для этого в классе Type есть перегруженная версия метода GetMethods, которая принимает в качестве параметра флаги задаваемые перечислением BindingFlags. Например, для того, чтобы вывести и публичные и приватные методы, нужно использовать флаги Public и NonPublic:
Вызов члена по его *Info. Понятное дело, что хорошо иметь под рукой инструмент позволяющий получать информацию о всех типах и их членах. Но всё бы было не так хорошо, если бы на этом всё и заканчивалось. На самом деле все эти классы MethodInfo, PropertyInfo и прочие *Info позволяют не только получить информацию, но и нахально ею воспользоваться. Например, метод можно вызвать:
Аналогично со свойствами. Допустим, есть у нас класс
Также стоит упомянуть о конструкторах. Получив объект класса ConstructorInfo, можно, как не сложно догадаться, вызвав его, создать объект.
Атрибуты. Атрибуты - это средство привязки информации к различным сущностям: методам, свойствам, типам и даже целым сборкам. По своей сути атрибут - это экземпляр класса унаследованного от System.Attribute. Присоединить атрибут к сущности можно путём добавления его имени перед ней в квадратных скобках:
В C# есть небольшое упрощение: слово Attribute можно не писать, компилятор сам подставит что нужно:
Можно, безусловно, создавать свои атрибуты. Для этого просто унаследуемся от класса System.Attribute:
При создании своего класса атрибутов стоит обратить внимание на предопределённый атрибут AttributeUsage. С помощью него можно задать область применимости своего атрибута. Например, если определим наш класс таким образом
Ещё хочу упомянуть очень полезный в хозяйстве атрибут Conditional. Он позволяет задавать условные методы, которые будут вызываться лишь в том случае, если соответствующий идентификатор определён с помощью директивы #define. В этом примере метод World() будет вызываться только в случае, если определён идентификатор TEST. Если убрать из кода #define TEST, сообщения Hello на консоли мы не увидим.
Вернуться к обсуждению: Отражение, метаданные, атрибуты C#
38
|
10.10.2010, 20:57 | |
Готовые ответы и решения:
1
Атрибуты класса и атрибуты объекта Метаданные Метаданные Метаданные Метаданные |
10.10.2010, 20:57 | |
10.10.2010, 20:57 | |
Помогаю со студенческими работами здесь
0
Метаданные файла Метаданные MP3 удаление метаданные FPDF метаданные Выбрать метаданные Метаданные изображения |
Новые блоги и статьи | |||||
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества
Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
|
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов.
. . .
|
С чего начать программировать микроконтроллеры
raxper 06.01.2025
Введение в мир микроконтроллеров
Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
|
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
|
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|