ساخت فایل Dll در سی شارپ

برای نمونه ابتدا یک مثال ساده را بیان میکنم :

در دو کلاس متفاوت اعمال ضرب و جمع نوشته شده و در کلاس دیگر از این دو کلاس با استفاده از مفهوم Dll استفاده میکنیم.

 

File: Add.cs

// Add two numbers

using System;

namespace MyMethods

{

   public class AddClass

   {

      public static long Add(long i, long j)

      {

         return(i+j);

      }

   }

}

 

File: Mult.cs

// Multiply two numbers

using System;

namespace MyMethods

{

   public class MultiplyClass

   {

      public static long Multiply(long x, long y)

      {

         return (x*y);

      }

   }

}
 
حالا  با استفاده از دستورات زیر در محیط Debugger .NET یا Command Prompt .NET   می توان این دو تابع را به Dll  تبدیل کرد.

csc /target:library /out:MyLibrary.DLL Add.cs Mult.cs

 

دستوارت فوق یک فایل با نام  MyLibrary.DLL در مسیر جاری می‌کنند.

 

حال چگونگی می‌توان از MyLibrary.DLL  تولید شده استفاده کرد؟

برای این کار ابتدا به Solution Explorer رفته و در برنامه خود کلیک راست کرده و گزینه Add Reference  را انتخاب میکنیم و با انتخاب فایل MyLibrary.DLL این فایل را  به برنامه خود اضافه میکنیم.

برای استفاده از فایل MyLibrary.DLL از یک دسترسی بسیار آشنا در برنامه استفاده میکنیم.

using MyLibrary

حالا می توانید  توابع Public دو تابع فوق را  در برنامه خود فراخوانی کنیم.

و اما یک نکته که در کلاس هایی که به Dll تبدیل میکنید وجود دارند و آن استفاده از Delegate می باشد . چون هر کلاس  در بیشتر موارد از کلاس هایی برای ساخت استفاده می شود که با Namespace کلاس میزبان متفاوت است ،دیگر نمیتوان از واسطها یا Interface ها برای توابع مشترک بین کلاس پایه و Dll فایل استفاده کرد و کلید این معما در دست Delegate می باشد.اینجا یکی از مهم ترین کاربرد های Delegate مشخص می شود.

/ 2 نظر / 181 بازدید
زلال

بسیار عالی مرسی[تایید]

nazanin

ممنونم خیلی عالی بود