Использование языка программирования D в контексте .NET - PullRequest
13 голосов
/ 12 февраля 2009

Мне любопытно: кто-нибудь использовал D вместе с языками .NET? Это вообще возможно? Какие вещи проще / имеет смысл делать в D, что трудно сделать, скажем, в C ++ / CLI?

Ответы [ 5 ]

11 голосов
/ 18 февраля 2009

Использование D вместе с .NET очень возможно. Причина:

  • .NET может импортировать неуправляемые библиотеки C (.dll, которые экспортируют функции C) с помощью атрибута dllImport .
  • D может экспортировать функции Си. используя атрибуты export и extern (C)

Так что, учитывая технические детали, это вполне возможно.

Что касается того, что D делает проще, чем C ++, ответ довольно прост: «Все». В некотором смысле, D на самом деле является просто копией C ++, и почти все сделано проще. Конечно, это только половина истории, но достаточно правдивая.

6 голосов
/ 12 февраля 2009

http://the -free-meme.blogspot.com / - это блог того, кто работает над получением d в точечной сети.

Edit:

nanu и nono - это проекты, которые пытаются заставить работать моно / D, но оба не претерпели никаких изменений в svn / trunk в прошлом году.

3 голосов
/ 17 ноября 2011

Вы можете вызвать D DLL, создав DLL с интерфейсом C , а затем вызвав ее через P / Invoke из .NET.

2 голосов
/ 25 февраля 2012

Существует также D для .NET , который является способом компиляции кода D прямо на CIL .

Другие ответы верны в том, что совместное использование кода с нативной реализацией также просто.

1 голос
/ 18 августа 2014

Я считаю, что D может вызывать сборки .NET, видимые через COM: http://wiki.dlang.org/COM_Programming.

...