I don't think that there is inline assembly nor function pointers in c# so this is a solution that came to my mind you can write your unmanged c++ code , assembly or shellcode in unmanaged DLL and call functions in it using Interop Services in C#.
i hope i have helped.
C# can use the reflection classes to use MSIL inline generally speaking and
I do believe C# has function pointers but I'm not entirely sure (unsafe code is so much fun!!)
As for the main question, NO you CANNOT use native assembly in managed
languages since the binaries are compiled to a high-level assembler which in
turn are compiled to native assembler by the JIT engine upon execution.
You can probably use C++ with Managed Extensions to use assembler but
for most projects I wouldn't recommend it since you'll be breaking that wonderful
cross-platformness that C# has (assuming you have an environment on that platform such as .NET, ROTOR, DotGnu, or Mono).