CLSCompliantAttribute属性为何不能单独用于类
看下面这段代码 
 using   System; 
 namespace   ConsoleApplication1 
 { 
 ///    <summary>  
 ///   Class1   の概要の説明です。 
 ///    </summary>  
 [CLSCompliant(true)] 
 class   myClass 
 {   
 public   uint   abc() 
 { 
 uint   a,   b; 
 a   =   0; 
 b   =   2; 
 return   a   +   b; 
 } 
 ///    <summary>  
 ///   アプリケーションのメイン   エントリ   ポイントです。 
 ///    </summary>  
 [STAThread] 
 static   void   Main(string[]   args) 
 { 
                               Console.WriteLine( "OK "); 
 } 
 } 
 }   
 编译时出现下面的ERROR: 
 F:\study\VS_Pro_Book\C#\ConsoleApplication1\ConsoleApplication1\Class1.cs(7):   アセンブリが準拠するとされていないため、 'ConsoleApplication1.myClass '   を   CLS   準拠とすることはできません。   
 我有些不太明白:CLSCompliantAttribute属性的应用范围是所有的程序元素,为什么上面的写法会出错,请各位大虾指点一下。     
------解决方案--------------------首先要有[assembly: System.CLSCompliant(true)],说明下程序集是CLS兼容还是CLS不兼容(不兼容使用false),然后你才可以定制在类中是否支持CLS兼容。   
 例如: 
 AssemblyInfo.cs 中有 
 [assembly: System.CLSCompliant(true)]   
 然后在类中 
     [CLSCompliant(false)] 
     public partial class frmMain : Form 
     { 
         public frmMain() 
         { 
             InitializeComponent(); 
         }   
         public void frmMain_load(object sender, EventArgs e) 
         { 
         }   
         public void frmMain_Load(object sender, EventArgs e) 
         { 
         } 
     } 
 无警告。 
 如果去掉[CLSCompliant(false)]则有警告。