- - PR -
C# get,setでアクセス演算子の異なるプロパティの定義
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-27 20:24
始めまして、もちもちと申します。
C#を利用していて、少し気になることがあり質問させて頂きます。 get,setでアクセス演算子の異なるプロパティの定義をしたいと思っているのですが、 コンパイル時に「クラス 'クラス名' に'プロパティ名' の定義が既に含まれています。」 というエラーで定義できませんでした。 やりたいことは、プロパティで値を設定出来るのは自クラスもしくは派生クラスとし、 他のクラスからは値の取得のみを行わせようと考えています。 もし仮にこれが定義できないなら、プロパティというのはかなり中途半端に思えますが、 皆様はどうお考えでしょうか? 以上、よろしくお願いします。 以下にサンプルで作ってみたコードを記します。 using System; public class Sample { int _val; public static void Main(string[] args) { Sample s = new Sample(); s.Foo =10; Console.WriteLine(s.Foo); } public int Foo { get { return _val; } } protected int Foo { set { _val = value; } } } |
|
投稿日時: 2005-06-27 20:36
私もたまにそういう需要があります。
が、現在のC#ではできないようです。 もうすぐ出るC#2.0ではget,setで異なるアクセス修飾子を設定することができます。 ので、現段階ではsetはメソッドにするか、C#2を待つしかないと思います。 |
|
投稿日時: 2005-06-27 20:37
http://www.gotdotnet.com/team/ja/team/csharp/learn/faq/default.aspx#accessmodifier
_________________ # Future Is On Fire ! |
|
投稿日時: 2005-06-27 22:18
karajan様、117様、ご返事ありがとうございました。
現状ではできないのですね。C#2.0に期待したいと思います。 本日はありがとうございました。 |
1