DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ファンクションの実行方法

環境/言語:[VB2005]
分類:[.NET]

今回の質問は、共通ファンクションAを生成し、そのファンクションAの引数に別のファンクションの名称を格納し、処理の途中で、そのファンクションを呼びたいのですが、可能でしょうか?

変数にファンクションの名称を格納し、そのファンクションを実行させる方法を知っている方がいたら教えてください。

以上、よろしくお願いします。
Reflectionを使えば可能のはずです。
■No17565に返信(しろさんの記事)
> Reflectionを使えば可能のはずです。

回答の方、ありがとうございました。

初心者のため、Reflectionをどのように使用すればよいかが、わかりません。
よろしければ、使用方法を教えてもらえませんか?
私の方でもいろいろと考えますが、時間がないため、お願いします。

以上です。
■No17566に返信(ごんすけさんの記事)
> 回答の方、ありがとうございました。
>
> 初心者のため、Reflectionをどのように使用すればよいかが、わかりません。
> よろしければ、使用方法を教えてもらえませんか?
> 私の方でもいろいろと考えますが、時間がないため、お願いします。
>
> 以上です。

このサイトのTipsに答えがあります。

以上です。
回答の方、ありがとうございました。
何とか動的にメソットを実行することができました。

そこでもう1つ質問があります。

Dim tt As Type = GetType(Form1)
としてTypeを設定していますが、この「Form1」を動的(String)として
設定することは可能でしょうか?

よろしくお願いします。


■No17567に返信(はいこーんさんの記事)
> ■No17566に返信(ごんすけさんの記事)
>>回答の方、ありがとうございました。
>>
>>初心者のため、Reflectionをどのように使用すればよいかが、わかりません。
>>よろしければ、使用方法を教えてもらえませんか?
>>私の方でもいろいろと考えますが、時間がないため、お願いします。
>>
>>以上です。
>
> このサイトのTipsに答えがあります。
>
> 以上です。
■No17575に返信(ごんすけさんの記事)
> Dim tt As Type = GetType(Form1)
> としてTypeを設定していますが、この「Form1」を動的(String)として設定することは可能でしょうか?

System.Type クラスの GetType 静的メソッドの方を使います。
回答の方、ありがとうございます。

Dim tt As Type = GetType(Form1)
Dim tt As Type = System.Type.GetType("Form1")

上記2つは同じ内容となるのでしょうか?
下の方で行うと、tt = Nothingとなってしまいます。

なにぶん初心者のため、間違った理解をしているかも知れませんが
よろしくお願いします。




■No17579に返信(じゃんぬねっとさんの記事)
> ■No17575に返信(ごんすけさんの記事)
>>Dim tt As Type = GetType(Form1)
>>としてTypeを設定していますが、この「Form1」を動的(String)として設定することは可能でしょうか?
>
> System.Type クラスの GetType 静的メソッドの方を使います。
■No17602に返信(ごんすけさんの記事)
> Dim tt As Type = GetType(Form1)
> Dim tt As Type = System.Type.GetType("Form1")
>
> 上記2つは同じ内容となるのでしょうか?

なりません。
前者はコンパイル時に型の検証を行いますが、後者はコンパイル解決されません。

> 下の方で行うと、tt = Nothingとなってしまいます。

名前空間まで含め、ユニークになるようにしなければなりません。
ありがとうございました。

名前空間まで含めることで、思い通りの動作になりました。

皆さん、本当にありがとうございました。


■No17604に返信(じゃんぬねっとさんの記事)
> ■No17602に返信(ごんすけさんの記事)
>>Dim tt As Type = GetType(Form1)
>>Dim tt As Type = System.Type.GetType("Form1")
>>
>>上記2つは同じ内容となるのでしょうか?
>
> なりません。
> 前者はコンパイル時に型の検証を行いますが、後者はコンパイル解決されません。
>
>>下の方で行うと、tt = Nothingとなってしまいます。
>
> 名前空間まで含め、ユニークになるようにしなければなりません。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板