むりせず♪なまけず? ~ぷろくらすてぃねいたーの言い訳雑記~

よた ときどき .NET  by 刈歩 菜良 CTP

目次

ニュース

C# VB.NET掲示板
C#, VB.NET 掲示板

わんくま同盟ブログ
わんくま同盟ブログ

Web アプリケーションを簡単編集できる無償ツール WebMatrix ダウンロードはこちら

あわせて読みたい

日記カテゴリ

書庫

Blog 利用状況

俺流インターフェイスの解釈

ネタ元:.Netは難しいのかもしれない

もうすでにコメントでほとんど解明されていますが、俺流での解説を試みてみます。

interface Idata { int data { set; get; } }
class  Ref : Idata {
  private int d;
  public int data
    { set { d = value; } get { return d; } }
}
struct Val : Idata {
  private int d;
  public int data
    { set { d = value; } get { return d; } }
}
<<中略>>
    Idata x, y;
    x = new Val(); // ※
    y = x;
    x.data = 123;
    Console.WriteLine("Idata of Val: x={0}, y={1}", x.data, y.data);

げげーん、値型なのに x=123, y=123 だって。
値型をinterfaceで受けると参照になっちゃう。

インターフェイスは参照型なので、
    Idata x, y;
の時点ではインスタンスがありません。
# Val x, y;とすると、この時点でインスタンスが作られます。

で、
    x = new Val();
とすると、xが値型を指す参照となり、続く
    y = x;
で同じ値型を指す参照がもいっこ増えます。

こんな感じ
x ─┬─→Valのインスタンス
y ─┘

別の言い方をするとxもyもキャストのいらないobject型と考えてみてはどうでしょう?

と、ここまで書いたら記事がもう一個進んどったー。
もそっと考えさせてください。
(;O;)

投稿日時 : 2007年10月31日 17:23

Feedback

# re: 俺流インターフェイスの解釈 2007/10/31 17:34 刈歩 菜良

ぅぁぅぁぅぁ...
今日中には無理確定...
来月になります...
# その間に話がまとまってるような気がしますが...

# re: 俺流インターフェイスの解釈 2007/10/31 23:11 επιστημη

# 若かりし頃はセンセいちびって喜んでたクチです

ぃゃぃゃぃゃぃゃ、.Netの鬼門(?)であるbox/unboxを
初心者にも解りやすーく小気味よーく教えていただける
と聞いてもぉワクテカですよぉ

# re: 俺流インターフェイスの解釈 2007/11/02 16:11 刈歩 菜良

ごめんなさい。
昨日は風邪で寝込んでいたため、今日はお仕事で忙しいです。
月曜日火曜日は...
無理なような気がします。

忘れたころの水曜日にはアップしまっす。
(;O;)

# それに、プログラミング.NET F 2.0が見当たりませ~ん。

# re: 俺流インターフェイスの解釈 2007/11/03 0:20 IIJIMAS

かるぼさんが寝込んでても、お仕事多忙でも、ぢゃまさんがいらっしゃるのでは?
とりあえずwktkです~

# 俺流インターフェイスの解釈2 2007/11/08 22:45 むりせず♪なまけず? ~ぷろくらすてぃねいたーの言い訳雑記~

俺流インターフェイスの解釈2

タイトル
名前
Url
コメント