這可能與以下結構的C++是否有一個C#相當於訪問修飾符地區,在C++
private:
public:
protected:
float bla1;
float bla2;
float bla3;
有沒有在C#中的等價聲明變量?似乎相當乏味,不得不重複自己;
protected float bla1;
protected float bla2;
protected float bla3;
這可能與以下結構的C++是否有一個C#相當於訪問修飾符地區,在C++
private:
public:
protected:
float bla1;
float bla2;
float bla3;
有沒有在C#中的等價聲明變量?似乎相當乏味,不得不重複自己;
protected float bla1;
protected float bla2;
protected float bla3;
不,沒有這樣的事情。事實上,它的設計就是爲了讓代碼更具可讀性。這適用於C#和Java。
值得一提的是,如果你有相同類型的多個成員,可以聲明爲:
protected float bla1, bla2, bla3;
號的訪問是在每個聲明中指定。
這樣做的好處是方法在源文件中的位置對行爲沒有影響。這意味着您可以移動方法和屬性(例如將相關方法聚集在一起)而不受懲罰。同樣不是完全是字段的真實性 - 可以使字段的聲明順序很重要。無可否認,最好不要這樣做...
不,在C#中(VB和F#)沒有等效。
我個人很喜歡這種差異。我在一個非常大的C++代碼庫中工作,沒有辦法查看特定的方法並知道它是特定的可訪問性。有些類已經變得非常大,以至於需要大量的頁面滾動才能看到修改器。
一些編碼人員可能認爲這並不壞,但考慮一下當人們開始在#if defs中混合並在這些#if中添加修飾符時會發生什麼。它使得在代碼審查過程中確定訪問修飾符是非平凡的操作。
這是一個小的打字犧牲,以增加內聯修飾符,但在長期可讀性方面值得。
不錯的一點。此功能在合併不同版本的文件以檢入時會有很大幫助。 – 2009-01-10 15:29:31