COM(DCOM)では、Interfaceに次の法則が成り立ちます。
これがC#(.Net Fraemework)のinterfaecで成り立つかどうか
へなちょこプログラマの自分には、分からなかったので実験
してみた。
結果は、c#のintercaeについてもなりたつようだ。
以下、実験につかったしょぼいコードです。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace InterfaceCastTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
IInu anonenone;
anonenone = new TAnonenone();
label1.Text = anonenone.wanwanwan();
label2.Text = (anonenone as INeco).nyannyannyan();
label3.Text = (anonenone as IAhiru).gagaga();
label4.Text = (anonenone as IKaeru).gagaga();
}
}
interface IInu
{
string wanwanwan();
}
interface INeco
{
string nyannyannyan();
}
interface IAhiru
{
string gagaga();
}
interface IKaeru
{
string gagaga();
}
class TAnonenone : IInu, INeco, IAhiru, IKaeru
{
public string nyannyannyan()
{
return "nyan nyan nyan";
}
public string wanwanwan()
{
return "wan wan wan";
}
public string gagaga()
{
return "ga ga ga";
}
}
}
0 件のコメント:
コメントを投稿