ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[C# | quest | find errors] Интеграция языков
  #1  
Старый 09.01.2010, 21:30
dober.man
Banned
Регистрация: 09.12.2009
Сообщений: 7
Провел на форуме:
176856

Репутация: 35
По умолчанию [C# | quest | find errors] Интеграция языков

Всем пишущим под dotNET должно быть известно, что CLR обеспечивает интеграцию языков и позволяет объектам, созданным на одном языке, быть «равноправными гражданами» кода, написанного на другом. Такая интеграция возможна благодаря стандартному набору типов, информации, описывающей тип (метаданным), и общей среде выполнения CLR.

Вот небольшое задание (просьба постить ответы без использования компилятора)
Какие ошибки выдаст компилятор C# при выполнении следующего кода:
Код:
using System; 
[assembly: CLSCompliant(true)] 
namespace SomeLibrary 
{ 
	public sealed class SomeLibraryType 
	{ 
		public UInt32 Abc() { return 0; } 
		public void abc() { } 
		private UInt32 ABC() { return 0; } 
	}
}
 
Ответить с цитированием

  #2  
Старый 10.01.2010, 00:45
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

UInt32 - не совместим с CLS
 
Ответить с цитированием

  #3  
Старый 10.01.2010, 01:08
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

имена методов строчными и прописными буквами не прокатят. посерьезнее должны отличаться
 
Ответить с цитированием

  #4  
Старый 10.01.2010, 01:20
dober.man
Banned
Регистрация: 09.12.2009
Сообщений: 7
Провел на форуме:
176856

Репутация: 35
По умолчанию

Цитата:
Сообщение от Algol  
UInt32 - не совместим с CLS
Не совсем так, но почти! =)
Поясню:
Тут во многом идет сравнение с другими языками. CLS описывает минимальный набор возможностей, который должны реализовать производители компиляторов, чтобы их продукты работали в CLR.

Первая ошибка выдается так как метод Abc возвращает целочисленное значение без знака, a, скажем, Visual Basic не может работать с такими значениями.

upd:

Цитата:
Сообщение от Ra$cal  
имена методов строчными и прописными буквами не прокатят. посерьезнее должны отличаться
Верно!
Тот же Visual Basic не сможет вызвать оба эти метода, т.к. мешают регистр букв в названии метода и возвращаемый тип.

Последний раз редактировалось dober.man; 10.01.2010 в 01:24..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
народ помогите с апачем XopoIII Администрирование 5 28.07.2009 10:18



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ