Pues una dll echa en .net no se ,,,sifuese en C seguro. De todas formas mira el tema de los metodos con el modificador native.
Pedazo del tutorial de certificacion de java de Marcus Green que habla sobre native:
El modificador native indica que el cuerpo del código
esta escrito en un lenguaje que no es Java como C y C++. Se escriben a menudo métodos nativos para propósitos específicos de la plataforma como acceder a algún elemento de hardware del cual la Maquina Virtual de Java no este consciente. Otra razón es utilizarlo donde se requiere mayor desempeño.
Un método nativo termina con punto y coma en lugar de un bloque del código. Así lo
siguiente llamaría una rutina externa, escrita quizás en C++,
public native fastcalc();
Suerte y un saludo