PDA

View Full Version : سوال: معادل این کد در #C



morika
سه شنبه 03 آبان 1390, 21:39 عصر
سلام
راستش من با این کد تو VB.NET یه dll رو از زوی هارد می خوندم و تو فروم لود می کردم:





Dim asm As System.Reflection.Assembly = System.Reflection.Assembly.LoadFile("C:\Windows\APconfig\APkernel32.dll")



Dim type As Type = asm.GetType("APkernel32.main", True, True)



Dim obj As Object = System.Activator.CreateInstance(type)



Dim control As System.Windows.Forms.Control = CType(obj, System.Windows.Forms.Control)

control.Location =

New System.Drawing.Point(0, 30)

control.BringToFront()



Me.Controls.Add(control)

حالا می خواستم ببینم معادل این کدها تو #C چی میشه. آخه از بعضی دستور ها اشکال می گیره و میگه اینا تو #C معنا نداره.
ممنون

ali_habibi1384
چهارشنبه 04 آبان 1390, 00:22 صبح
دي ال الت رو كامل بذار واست تبديلش كنم

morika
چهارشنبه 04 آبان 1390, 11:29 صبح
راستش دیشب که من این پست رو گذاشتم کدها درست بود نمی دونم الان چرا اینجوری شده. ولی علی آقا من فکر نکنم اصلا ربطی به dll داشته باشه چون dll که درسته فقط کدی که باید اون تو برنامه لود کنه به زبان vb هست و انگار بعضی جاهاش اصلا تو #C وجود نداره. کد اینه:



Dim asm As System.Reflection.Assembly = System.Reflection.Assembly.LoadFile("C:\Windows\APconfig\APkernel32.dll")



Dim type As Type = asm.GetType("APkernel32.main", True, True)



Dim obj As Object = System.Activator.CreateInstance(type)



Dim control As System.Windows.Forms.Control = CType(obj, System.Windows.Forms.Control)

control.Location =

New System.Drawing.Point(0, 30)

control.BringToFront()



Me.Controls.Add(control)

RIG000
چهارشنبه 04 آبان 1390, 11:50 صبح
از این سایت استفاده کن.
http://www.developerfusion.com/tools/convert/vb-to-csharp/

morika
چهارشنبه 04 آبان 1390, 12:00 عصر
من خودم قبلا تو همین سایت و تو خیلی سایتهای تبدیل کد دیگه تست کردم ولی هیچ کدوم نمی تونن تبدیل کنن

ArashRoshan
چهارشنبه 04 آبان 1390, 12:17 عصر
سلام
خیلی راحته ، اول به برنامت using System.Reflection رو اضافه کن ، بعد کد های زیر :


Assembly asm = Assembly.LoadFile("C:\\Windows\\APconfig\\APkernel32.dll");
Type TT = asm.GetType("APkernel32.main",true ,true );
object obj = Activator.CreateInstance(TT);
Control MyControl = obj as Control ;
MyControl.Location = new Point(0,0);
MyControl.BringToFront();
this.Controls.Add(MyControl);
بعدش یه سوالی ، این ApKernel چی هستش ، یکم اگه میشه توضیح بدید ؟

ali_habibi1384
چهارشنبه 04 آبان 1390, 12:39 عصر
من كد شما رو در يك كلاس لابرري استفاده كردم خطا داد چون شما كد رو كامل ننوشته بودي اينجا.امكان نداره دستوري توي وي بي وجود داشته باشه و در سي شارپ نه. شم دي ال الت رو بذار تا من جوابتو بدم اگر هم نميخواي كه هيچي.

morika
چهارشنبه 04 آبان 1390, 12:59 عصر
ممنون آرش جان مشکل من و حل کردی. رایشت من یه برنامه نوشتم که همه کارشو با این Apkernel انحام میده. یه dll که خودم طراحی کردم. برای این که بتونم از طریق اینترنت برنامه رو آپدیت کنم باید این dll دانلود شه بعد دوباره تو برنامه لودشه. قبلا اینکارو با vb می کردم ولی الان چون می خوام ورژن بعدیش رو با #C طراحی کنم یه خورده به مشکل خوردم. به هر حال ممنون که جواب دادی