C++ и C# - разные языки. Ещё есть язык C++/CLI (C++ CLR) - это расширение C++ для платформы NET. Код на C++/CLI может использовать классы, написанные на C#, и наоборот. Таким образом, C# и C++/CLI можно использовать в одном приложении. Насколько я знаю, код C++/CLI должен быть в отдельной сборке (DLL). Если требуется максимальное быстродействие кода на C++, то можно сделать обычную DLL. Но будет гораздо меньше возможностей и больше сложностей во взаимодействии кода C# и С++.