Many would say it's impossible (not counting creation of a COM component).
This is in principle possible, but in practice, just ridiculous. Too difficult to bother, and too easy to port to .NET from majorly obsolete and not-so-easy-to-use MFC.
However, if you really want to bite a bullet, there is one of the method explained in some CodeProject articles with overview and discussion in my past answer:
loading C# DLL in MFC[
^],
How can I use a dll created in Visual Basic 2008 in Visual Basic 6.0[
^],
Call Managed DLL written in C# from Unmanged Code VC++[
^],
API's in .Net: Managed or UnManaged Code[
^].
Note that some members considered this approach as highly questionable, but I value it much more than COM which contaminates the system. It works, even though many would say it's impossible.
Again, I don't recommend any. Get rid of MFC and don't torture yourself. Anyway, you decide.
[EDIT]
I almost forgot: in your special case, there is another solution. Maybe it will work for you better. Please see Solution 2.
—SA