Все остальное, плюс
1) неявные дженерики (почему только на методах а не на классах?)
void GenericMethod<T>( T input ) { ... }
//Infer type, so
GenericMethod<int>(23); //You don't need the <>.
GenericMethod(23); //Is enough.
2) простые лямбды с одним параметром:
x => x.ToString() //simplify so many calls
3) анонимные типы и инициализаторы:
//Duck-typed: works with any .Add method.
var colours = new Dictionary<string, string> {
{ "red", "#ff0000" },
{ "green", "#00ff00" },
{ "blue", "#0000ff" }
};
int[] arrayOfInt = { 1, 2, 3, 4, 5 };
<час> Другой:
4) свойства Auto могут иметь различные объемы:
public int MyId { get; private set; }
<час> Благодарен за то, что @pzycoman напоминает мне:
5) псевдонимы Пространства имен (не, что Вам, вероятно, будет нужно это конкретное различие):
using web = System.Web.UI.WebControls;
using win = System.Windows.Forms;
web::Control aWebControl = new web::Control();
win::Control aFormControl = new win::Control();
Можно сгенерировать событие из C ++ для запуска обычного события LabVIEW.
Здесь - сообщение на форуме NI, в котором обсуждается эта структура.
И отрывок кода из этого потока:
#include <utility.h>
#include <extcode.h>
#include "EventDLL.h"
//Generate a LabVIEW event
int GenerateLVEvent(LVUserEventRef *msg, int param)
{
PostLVUserEvent( *msg, (void *)¶m);
return 0;
}
А вот исходный код в формате PNG:
(источник: vi-lib.com )
А вот сопроводительный код LabVIEW:
Нижний цикл - это код LabVIEW, который отправляет событие DLL в обработчик событий LabVIEW.
Он должен быть помещен в вашу DLL.
Одним из входных параметров должен быть указатель события в виде U32.
Удачи,
Тон
PS, если вы собираетесь погрузиться в DLL и совместимость с LabVIEW, обратите внимание на все, что говорит РольфК, он гуру в этой области.