ブログ「サイバー少年」

ブログ「サイバー少年」へようこそ!
小学六年生ごろからプログラミングを趣味にしている高校生のブログです。
勉強したことについての記事などを書いています。フリーソフトも制作、公開しています。
(当ブログについて詳しくは「ブログ概要紹介」を参照)

サイバー少年が作ったフリーソフトは「サイバー少年の作品展示場」へ

動くじゃないか、Type.IsAssignableメソッド ~ 状況報告 ~

大変です。(大変ではないかな。)

さんざん記事「Type.IsAssignableFromメソッドが変になる件について考える。」で
Type.IsAssignableFromメソッドが正常に動かないと書きましたが、

久しぶりに実験してみたら正常に動いちゃいました…。

ななな、何故だ!?

あの記事で、“Type.IsAssignableFromメソッドが正常に動かない理由”として、さんざん仕組みや理由を考えて書いたのに…。


まぁ、とりあえず出来たというのは確かなので、このやり方に戻そうと思います。

それにしても、なんでちょっと前は出来なかったのかなぁ…。

原因が全く分かりません。


あと、記事「前に言っていた問題の回避案とC#の属性について」で言っていた、

属性クラスを設定して、プラグインクラスかどうか判断する、というやつも問題なく動きました。


その記事より引用

もしかしたら、あの記事で書いたことと同じ理屈でTypeクラス全般の機能が役に立たないのかも知れない…。



すいません。
なんか、急にTypeクラス全般の機能が役に立ち始めんたんです…。


結果として良かったですけど、なんで前は出来なかったのかよく分からないです。

if文とか、基礎的な部分のうっかりミスだったのかな。

とにかく、良かったですけど…。


もはや、存在意義がなくなったと思われる、属性クラスで判定する機能ですが、私は存在意義はあると思います。

「プラグインの型だからプラグイン!」と強制的にならずに、
プラグインを作る側が柔軟に設定できるようにするためには必要な機能です。

というわけで残しておきます。


この属性を使うアイデアは、Type.IsAssignableFromメソッドが動かなかったときに、苦肉の策として考えたものですが、

それが、結果いいことになって、まぁ不具合が起きたお陰とも言えますね。


まぁ、喜んだり困惑したりしています。

本当に…なんでだ…?

tag:

コメント

visual studioのバグじゃないですか?
原因は、いろいろありますが、visual studio(もしくは、OS)を再起動すると
正常動作するというのは、よくありますよ。
(同じプログラムでも、突然、動かなく、、、デバッグしてる間に、メモリ関係で。)

それか、コード内に、潜在的に不安定な要素を
抱え込んでて、そこがバグの元になってるのか。。。?

  • 2013/05/08(水) 16:21:46 |
  • URL |
  • 通りすがり #EBUSheBA
  • [ 編集 ]

Re: 通りすがり

恐らく開発環境は関係していないと思います。
OSもそこまで雑な設計ではないと思うんですけどね~。

非同期処理をしているときは、たまにバグることもありますが、そういう感じではないですし。

しかし、だとすると原因が全く分からないです。
まぁ、私の条件判定の文がうっかりミスをしていた可能性が高いですね。

コメントの投稿

トラックバック

トラックバック URL
http://cyberboy6.blog.fc2.com/tb.php/272-2c584c5d
この記事にトラックバックする(FC2ブログユーザー)

当ブログをご利用(閲覧等)になる場合は必ず「当ブログの利用規定」をお守りください。