Call C# dll function from C++/CLI

前端 未结 1 780
说谎
说谎 2020-12-06 10:30

I have a C# dll. The code is below:

public class Calculate
{
    public static  int GetResult(int arg1, int arg2)
    {
        return arg1 + a         


        
相关标签:
1条回答
  • 2020-12-06 11:11

    You must be using c++ CLI, otherwise you could not call DllImport. If that is the case you can just reference the c# dll.

    In c++ CLI you can just do as follows:

    using namespace Your::Namespace::Here;
    
    #using <YourDll.dll>
    
    YourManagedClass^ pInstance = gcnew YourManagedClass();
    

    where 'YourManagedClass' is defined in the c# project with output assembly 'YourDll.dll'.

    ** EDIT ** Added your example.

    This is how your example needs to look like in CLI (for clarity I am assuming that G etResult is not a static function, otherwise you would just call Calculate::GetResult(...)

    private: System::Void CalculateResult(int arg1, int arg2)
    {
        int rez=0;
        //Call C++ function from dll
        Calculate^ calculate= gcnew Calculate();
        rez=calculate->GetResult(arg1,arg2);   
    }
    
    0 讨论(0)
提交回复
热议问题