2012-04-03 79 views
-1

我一直在搜索,但無法找到合適的列表。有人能說出幾個或者給我一些關於這個的鏈接嗎?.net框架中的所有內置抽象類是什麼?

+0

爲什麼你需要那個?只是好奇! – Nauman 2012-04-03 10:55:45

+1

因爲我很好奇知道。這就是爲什麼:/爲什麼我會投票? :( – Infinity 2012-04-03 10:59:02

+0

沒有這樣的綜合列表,無論如何!MSDN爲你提供了每個類的詳細信息,但是沒有任何機制可以僅僅列出抽象類或者基於類別VS給你提示/不允許你實例化這樣的類。但是,我不知道你爲什麼得票低!雖然,你可以寫一個基於反思的小程序來列出這樣的類! – Nauman 2012-04-03 11:02:50

回答

11

這個(快速和骯髒的)程序應該給你一個清單,從4.0開始;

using System; 
using System.IO; 
using System.Reflection; 

class Program 
{ 
    static void Main(string[] args) 
    { 
     var assemblies = Directory.GetFiles("C:\\Windows\\Microsoft.NET\\Framework" + (Environment.Is64BitProcess ? "64" : "") + "\\v4.0.30319", "*.dll"); 

     foreach(var assembly in assemblies) 
     { 
      try 
      { 
       var loadedAssembly = Assembly.LoadFrom(assembly); 
       var types = loadedAssembly.GetTypes(); 
       foreach(var type in types) 
        if(type.IsAbstract && type.IsClass) 
         Console.WriteLine(type.FullName); 
      } 
      catch 
      { 
       // Not an assembly? Ignore. 
      } 
     } 
    } 
} 
+2

編寫程序+1,我還在想! – Nauman 2012-04-03 11:05:25

相關問題