僕C/C++最高に苦手なんで。一応コンソールでそれなりのものは作れますが、やさしいCレベルなんで(^^;;まぁこれから勉強していきたいと思います。Documentation↑3.0用ですが、かなりありがたいです。この解説資料を元にいろいろ作っていく感じになります。参考にさせていただいたサイト様ありがとうございました。C++(超初心者用)スレのの550さん僕と全く同じエラー出てました。落ちてますのでキャッシュを貼らせていただきます。こちらFacebookTwitterプログラミング.NETのインターフェースについて。とも2件のコメント※以下個人的な覚書です。情報の正当性や、妥当性は保障しかねます。普段Interfaceと聞くと、ついついJavaで見かけるようなInterfaceを想像します。.NETにもJavaのような使用方法もありますが、この記事では、インターフェースを型として宣言したり、メソッドの引数にするような使用方法を個人的にまとめます。Interface※VB.NETではインターフェースに宣言できるのは、Sub,Functionおよびプロパティのみ。Classここまでのコードを見ると、言語の違いのみでJavaと等価といえます。VB.NETに限って言うと、それぞれのプロシージャ、プロパティの宣言の後に”Implements~”が書かれています。これにより、実装するクラス側ではInterfaceで宣言したものと異なった名前をつけることが可能です。実装コードは自動的に生成されます。・プロパティのGet,Setの中身。・ShowMsgプロシージャの内容のみです。□インターフェースを型として宣言する。通常通りにIFTestクラスのインスタンスを生成してみます。IFTest当然ながら、プロパティ「Msg」,プロシージャ「ShowMsg」を使用することができます。次に何も考えずにIMyIF1を型として宣言してみましょう。IMyIF1※InterfaceはNewすることは出来ません。‘すると以下のように見事Interfaceのプロパティや、プロシージャにアクセスできます。インスタンスに設定されていません。」というエラーが出ます。.NET触り始によく出したエラーですね(笑)ここからが本題です。上記コードでは、Interfaceのみを宣言した形になります。“test”IMyIF1Obj.ShowMsg()あら不思議。見事”test”とメッセージボックスが表示されましたね。オブジェクトをつなぐためのインターフェイスインターフェイスを実装しているクラスは、そのインターフェイスの型の変数にキャストなしで代入することができます。ここで@ITを呼んで理解できた人はすごい。僕はいまだに理解してません(^^;;本当にInterfaceを実装していればキャストせずに代入できるのか!?ためしにもう一つInterfaceを作ってみます。Interface実際にIFTestクラスに実装しましょう。Class結局こんな感じになりました。それではここから実験。IFTestObjIMyIF2Obj.ShowMsg2()どうでしょうか。なんとなくわかっていただけたでしょうか?正直本人すらよく分かってないものを一生懸命説明しても仕方ないんですが。・Javaのように使うことが出来る。・Interfaceを実装しているクラスは、実装済みのInterfaceに代入できる。・代入後、型として指定したInterfaceのメソッドや、プロパティを利用できる。いったところでしょうか。良いサンプルでなくて申しわけないのですが。補足させていただくと、最近MSHTMLをよく触っていまして、そこにIHTMLDocument,IHTMLDocument2,IHTMLDocument3,IHTMLDocument4,IHTMLElement,IHTMLElement2などといったたくさんのインターフェースがあったわけです。この場合IHTMLDocument系のインターフェースはすべてHTMLDocumentClassというクラスが実装しています。適当にいじっていたわけです。それで、どうも.NETというか、COM(?)のインターフェースは何か違うと感じ、この記事にいたったわけです。※もちろん、MSHTMLは8Mほどのファイルを再配布する必要があるので、TypeクラスやとType.InvokeMembeなど駆使して利用していますが。そのうちMSHTMLを使ったDOMHTMLでのHTML解析のサンプルも載せたいと思います。_”m)ペコリまだまだ僕も勉強が足りてないなぁと思う今日この頃でした。