2013-06-24 61 views
-1

我所著的代碼,但是,當我嘗試建立,編譯器返回:C#錯誤,成員具有相同名稱的

1>code.cs(16,16,16,44): error CS0542: 'DataGridViewPercentageColumn': member names cannot be the same as their enclosing type 


using System; 
using System.Collections; 
using System.Collections.Generic; 
using System.Data; 
using System.Drawing; 
using System.Diagnostics; 
using System.Windows.Forms; 
using System.Linq; 
using System.Xml.Linq; 

namespace TestSample 
{ 
    internal static class DataGridViewPercentageColumn 
    { 
     public class DataGridViewPercentageColumn : DataGridViewColumn 
     { 
      public DataGridViewPercentageColumn() : base(new DataGridViewPercentageCell()) 
      { 
      } 
     } 

     public class DataGridViewPercentageCell : DataGridViewTextBoxCell 
     { 
      public DataGridViewPercentageCell() 
      { 
       this.Style.Format = "0%"; 
      } 
     } 
    } 
} 

我怎樣才能解決這個問題,並且,爲什麼這個錯誤發生?

謝謝

+6

內部類DataGridViewPercentageColumn具有與外部類相同的名稱。 – manji

+0

否... o.O,沒有另一個同名的類 – Alexandre

+0

'內部靜態類DataGridViewPercentageColumn'與'public class DataGridViewPercentageColumn'具有相同的名稱。 – jnovacho

回答

4

不能嵌套具有相同名稱的兩個類。您的內部類DataGridViewPercentageColumn具有與外部類相同的名稱。你必須重命名這樣的類中的一個:

internal class DataGridViewClasses{ 
    public class DataGridViewPercentageColumn : DataGridViewColumn 
    { 
     public DataGridViewPercentageColumn() : base(new DataGridViewPercentageCell()) 
     { 
     } 
    } 

    public class DataGridViewPercentageCell : DataGridViewTextBoxCell 
    { 
     public DataGridViewPercentageCell() 
     { 
      this.Style.Format = "0%"; 
     } 
    } 
} 

順便說一句:你不能有任何其他成員或屬性命名,如類本身類中。

3

您的包裝類與其中一個內部類具有相同的名稱。

問題是DataGridViewPercentageColumn

3

這裏的問題是你已經在另一個類中定義了一個類,它們都具有相同的名字。給內部靜態類一個不同的名字。

相關問題