আমি কীভাবে আপনি একটি সি # অ্যাপ্লিকেশনটির অভ্যন্তরে রান টাইমে .dll আমদানি করতে এবং ব্যবহার করতে যেতে পারেন তা নির্ধারণ করার চেষ্টা করছি। এসেম্বলি.ল্ডফিল () ব্যবহার করে আমি আমার প্রোগ্রামটি ডিএল লোড করার জন্য পরিচালিত হয়েছি (এই অংশটি অবশ্যই কাজ করছে কারণ আমি টসস্ট্রিং ()) দিয়ে ক্লাসের নাম পেতে সক্ষম হয়েছি, তবে আমি 'আউটপুট' ব্যবহার করতে অক্ষম আমার কনসোল অ্যাপ্লিকেশন ভিতরে থেকে পদ্ধতি। আমি .dll সংকলন করছি তারপরে এটিকে আমার কনসোলের প্রকল্পে নিয়ে যাচ্ছি। ক্রিয়েটইনস্ট্যান্স এবং তারপরে পদ্ধতিগুলি ব্যবহার করতে সক্ষম হওয়ার মধ্যে কি কোনও অতিরিক্ত পদক্ষেপ রয়েছে?
এটি আমার ডিএলএল এর ক্লাস:
namespace DLL
{
using System;
public class Class1
{
public void Output(string s)
{
Console.WriteLine(s);
}
}
}
এবং আমি অ্যাপ্লিকেশনটি আমি ডিএলএল লোড করতে চাই
namespace ConsoleApplication1
{
using System;
using System.Reflection;
class Program
{
static void Main(string[] args)
{
var DLL = Assembly.LoadFile(@"C:\visual studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\DLL.dll");
foreach(Type type in DLL.GetExportedTypes())
{
var c = Activator.CreateInstance(type);
c.Output(@"Hello");
}
Console.ReadLine();
}
}
}