محمد
تماس با من
پروفایل من
آرشیو وبلاگ
      Mohammad ()
بدست آوردن لیست تمامیه Type ها در .Net نویسنده: محمد - پنجشنبه ۱۳ فروردین ۱۳۸۸

با سلام.
چند وقت پیش دنبال یه کدی بودم که بشه لیست تمامیه Type های .NET Framework رو باهاش در آورد.
جایی نتونستم پیدا کنم ، فقط با راهنماییه بچه های CodeProject فهمیدم که باید از Reflection استفاده کنم. چیزس که قبلا کار نکرده بودم .
بعد از یه دو سه روزی کار کردن و آشنا شدن با هاش این کد رو نوشتم که اسم تمامیه Type های .Net رو پیدا می کنه و اونا رو به syntax یه آرایه از string در C# در میاره و تو یه فایل کنار خود پروژه ذخیره می کنه .
حالا برا شما هم این کد رو می زارم

static string fileName = "types.txt";
static void Main(string[] args)
{
    StreamWriter SW;
    SW = File.CreateText(fileName);
    SW.WriteLine("string[] mds = new string[] {");
    SW.Write("\t\t\t\t\t");

    DirectoryInfo directory = new DirectoryInfo(Environment.ExpandEnvironmentVariables("%SystemRoot%") + @"\assembly");

    Assembly assembly;
    Type[] types;

    var DLL_Files = directory.GetFiles("*.dll", SearchOption.AllDirectories);

    short i = 0;
    int assembliesCounter = 0;
    int typeCounter = 0;
    int allAssemblies = DLL_Files.Length;
    int counter = 0;

    foreach (var file in DLL_Files)
    {
        assembliesCounter++;
        try
        {
            assembly = Assembly.LoadFile(file.FullName);
            types = assembly.GetTypes();
            typeCounter = types.Length;
            foreach (var type in types)
            {
                i++;
                typeCounter--;
                if (i > 10)
                {
                    SW.WriteLine("\"" + type.Name.Replace("\\", "") + "\"" + ", ");
                    SW.Write("\t\t\t\t\t");
                    i = 0;
                }
                if (assembliesCounter >= allAssemblies && typeCounter <= 0)
                    SW.Write("\"" + type.Name.Replace("\\", "") + "\"");
                else
                    SW.Write("\"" + type.Name.Replace("\\", "") + "\"" + ", ");
                counter++;
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }

    SW.WriteLine("};");
    SW.Close();

    Console.WriteLine("\n{0} Types Found", counter.ToString());
    Console.WriteLine("Finish");
    Console.ReadKey();
}

کلمات کلیدی : لیست کلاس ها ، لیست namespace ها ، list of class namespace , C# , VB , .Net Framework

  نظرات ()
مطالب اخیر نرم افزار محاسبه سپرده سود بانکی تسهیلات پلاگین Date Picker برای jquery و bootstrap نصب دات نت فریم ورک 3.5 در ویندوز 8 به صورت آفلاین دانلود آپدیت 3 ویژوال استادیو 2013 دانلود آپدیت 2 Visual Studio 2013 Update به صورت آفلاین دانلود آپدیت چهارم ویژوال استادیو Download Visual Studio 2012 Update 4 دانلود ویژوال استادیو Visual Studio 2013 Ultimate با لینک مستقیم دانلود Microsoft Expression Studio Ultimate 4.0 دانلود 6.0 Redgate SQL Prompt، اینتلی سنس intellisense جامع و کامل برای SQL دانلود کامپوننت Telerik WPF 2013 for .Net Q2 به همراه سورس کدها
کلمات کلیدی وبلاگ #c (٥۱) نمونه کار (٢٠) دانلود (٢٠) بریده کد (۱٧) ترفند (۱۳) دانشگاه (۱۳) windows (۱۱) pdf (۱٠) پروژه (٩) visual studio (٩) ebook (٩) flash (٧) sql (٧) php (٧) wpf (٧) javascript (٧) linq (٦) game (٥) software (٥) تقویم (٥) نمونه سوال (٥) net (٤) css (٤) browser (٤) firefox (٤) مقاله (٤) aspnet (٤) هوش مصنوعی (۳) mvc (۳) bootstrap (٢) سورک (٢) xaml (٢) آماده همکاری (٢) internet explorer (٢) assembly (٢) رمز نگاری (٢) hack (٢) calendar (٢) specification (٢) captcha (٢) google (٢) مقایسه (۱) pascal (۱) رپیدشیر (۱) vb (۱) html (۱) font (۱) proteus (۱) کرک (۱) reflection (۱) mobile (۱) plugin (۱) smiles (۱) silverlight (۱) office (۱) smarty (۱) video tutorial (۱) angularjs (۱) jquery (۱)
دوستان من مهدی بخشی
پایگاه اطلاع رسانی یادواره شهدای سورک
مهدی اسکویی(آموزش رایانه)
کیست مرا یاری کند مهدی کاویانی آیات آسمانی شاعران جوان برنامه نویسی در دات نت دغدغه های محرم پرتال زیگور طراح قالب