ホームページ  >  記事  >  バックエンド開発  >  C#でDLLをロードして関数を呼び出す実装方法を図解で詳しく解説

C#でDLLをロードして関数を呼び出す実装方法を図解で詳しく解説

黄舟
黄舟オリジナル
2017-03-07 11:24:163458ブラウズ

以下のエディターは、DLL をロードし、C# でその関数を呼び出す実装方法を提供します。編集者はこれがとても良いと思ったので、参考として共有します。エディターに従って見てみましょう。C# プログラミングでは、パッケージ化された DLL 内の関数の呼び出しが頻繁に使用されます。では、プログラムに DLL をロードし、その中の関数を呼び出すにはどうすればよいでしょうか?さらに、メインプログラム内で自分でカプセル化した dll 内の関数をデバッグするにはどうすればよいでしょうか?

DLL のロード - 参照の追加 参照の追加とは、プログラム生成時に設定されたパスに従って対応する DLL をロードすることを意味します。

参照手順を以下の図に示します。 解決策 -> 参照 -> 参照を追加 -> 参照 -> DLL が存在するパスを選択 -> OK

名前空間、インスタンス化されたオブジェクト、および呼び出し関数をインポートします

DLL の名前空間をインポートすることによってのみ、この空間内のクラスを使用できます。したがって、dll を参照した後の最初のステップは名前空間をインポートすることであり、2 番目のステップはクラス オブジェクトをインスタンス化し、最後のステップはクラス オブジェクトを使用してそのメンバー関数を呼び出すことです。以下に示すコードは、パッケージ化された DMC3000.dll 内の初期化関数を呼び出します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using nsLTDMC;

//(1)引入命名空间
using nsDMC3000;


namespace DalsaConfig
{
  public partial class Form1 : Form
  {
    //(2)声明类对象
    DMC3000 m_f1DMC3000;
    public Form1()
    {
      //(3)实例化类对象
      m_f1DMC3000 = new DMC3000();
      InitializeComponent();

      //(4)调用dll中的函数
      bool bIniResult = m_f1DMC3000.Init();
      if (true == bIniResult)
      {
        MessageBox.Show("Init OK");
      }
      else
      {
        MessageBox.Show("Init Failed!");
      }
    }
  }
}

DLL 関数をデバッグする手順

最初の 2 つの基本的な手順は、DLL 内の関数を呼び出す方法であり、この手順は、カプセル化された独自の DLL をデバッグする手順です。

既存のプロジェクトを追加する

既存のプロジェクトを追加すると、カプセル化された DLL プロジェクトがメイン プログラムにロードされ、デバッグ中に DLL によって呼び出される関数にステップインできるようになります。

依存関係を設定する

依存関係とは、メインプログラムが起動プロジェクトであり、DLLプログラムが依存プロジェクトであることを規定することを指します。

上記は、C# での DLL のロードとその関数の呼び出しの実装方法の詳細な図とテキストの説明です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) を参照してください。 )!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。