ふらっとC#,C♯,C#(初心者用) Part38 at TECH
[2ch|▼Menu]
519:デフォルトの名無しさん
09/03/09 19:25:00
URLリンク(msdn.microsoft.com)
> TypeDelegator クラス
> Type オブジェクトをラップし、すべてのメソッドをこの型にデリゲートします。

という継承用のヘルパークラスなんですが、以下の二点について。

(1) Typeクラスのメソッドのうち、.NET 2.0以降でサポートされたメソッドをサポートしていない?

きちんと確かめたわけではないのですが、TypeDelegatorでは.NET 1.1の時点で
Typeがサポートしていたメソッド以外について委譲(デリゲート)を実装していないように見えます。

通常は、Type.GetGenericArguments()を呼ぶと、実行時にはSystem.RuntimeTypeの実装を呼ぶので
問題ないのですが、TypeDelegatorから呼ぶと、継承元のメソッドであるType.GetGenericArguments()
が呼ばれます

また、SSCLIにあるコードによれば、Typeでの実装は
URLリンク(labs.developerfusion.co.uk)
> public virtual Type[] GetGenericArguments()
> {
>   throw new NotSupportedException(Environment.GetResourceString("NotSupported_SubclassOverride"));
> }
となっているらしいので、TypeDelegator.GetGenericArguments()を呼ぶと
NotSupportedException(「派生クラスには実装を指定しなければなりません。」)が投げられてしまうようです。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5379日前に更新/246 KB
担当:undef