Zemin Zemin
bos
         Makalelerde Haberlerde Gruplarda
Arama Göstergesi
Site içi arama Site içi arama
Anasayfam Yap Favorilerime Ekle Bize Ulaşın IE7 Provider
BETA 2.1
IE6.0+, FireFox 2.0'ı destekler
 
   
bos bos bos
bos
Kapat

İlk Yorumu Siz Yapın.



Başlık
Yorum
« Geri Yorumlar Makaleyi Sakla Arkadaşıma Gönder Yazdır

Yazar : Kerem Küsmezer
Okunma Sayısı : 2646
Tarih : 20.09.2004 16:04:00
Kategori : CSharp
Konu : Dinamik CSharp Compile Duzeltmesi
Açıklama :

Bu arada guncelleme programimizdaki bir hata dolayisiyla makalenin düzenlenmish halini tekrardan yayinliyorum.
Aşağıdaki örneğimiz Csharp ile yazılmış bir uygulamanın text dosyası formatındaki source kodlarını memorye compile ederek, ClassToCall parametresinde belirtilen classi create eder.
Ornek olarak asagida verirmish olan test classini kullanarak , bu fonksiyonu deneyebilirsiniz.
Asagidaki kod ile otomatik compilation yapabilirsiniz. Classin ve CodeDom'un kullanimiyla ilgili detayli yazim yazinin ikinci bolumunde olacak.
string[] test = {"System.dll"};
compileCsharp("c:\\test.txt","Simple.Death",test);
//Test Class for dynamic compilation
namespace Simple {
public class Death {
public Death() {
System.Console.WriteLine("testtest1");
}
}
}
//The Dynamic Compilation Methods and Classes
using System; using System.CodeDom;
using System.CodeDom.Compiler;
using System.Collections.Specialized;
using Microsoft.VisualBasic;
using System.Reflection;
using Microsoft.CSharp; namespace scriptinglanguages {
/// /// Summary description for compiler. ///
public class compiler { public static void compileCsharp(string FileToCompile,string ClassToCall,string[] referencedAssemblies) {
CompilerParameters comppar = new CompilerParameters();
comppar.GenerateInMemory = true;
comppar.GenerateExecutable = false;
comppar.IncludeDebugInformation = true;
comppar.GenerateExecutable = false;
for (int i=0;i 0) {
System.Collections.IEnumerator enums = compilerResult.Errors.GetEnumerator();
while(enums.MoveNext()) {
System.Console.WriteLine(enums.Current.ToString());
} }
else {
Assembly myAssemb = compilerResult.CompiledAssembly;
Object test = myAssemb.CreateInstance(ClassToCall);
}
}
}
}
 
Şifremi Unuttum
Üye Ol

ASP.NET AJAX
ASP.NET AJAX Kitabı

Röportaj Dr. Arzu Baloğlu ile Türkiye ve Bilişim üzerine keyifli bir röportaj...


isarayan.org
Yenibiriş Logo
 
bos bos bos
bos Hakkımızda