1

プロジェクトの基本クラスに TypeConverter があります。

[TypeConverter(typeof(CodeTypeConverter))]
abstract class CodeBase

このベースを継承するクラスがいくつかあります

class TitleCode : CodeBase
class PreferenceCode : CodeBase

型コンバーター (ValueProvider.ConvertSimpleType) を呼び出すものは、コンテキストを作成しないため、ConvertFrom には変換先の型が通知されないため、変換を行うことができます。

public override object ConvertFrom(
  ITypeDescriptorContext context, // this is null
  CultureInfo culture,
  object value)

誰もこの問題に遭遇しましたか? もしそうなら、回避策はありますか?

4

1 に答える 1

0

最終的にこれを行いました。

  1. オブジェクトのTypeConverterを取得する
  2. ITypeDescriptorContextを実装するプロキシコンテキストクラスを作成する
  3. 必要なタイプセットを使用してプロパティ記述子を作成する

上記のような場合に、nullコンテキストのチェックがCanConvertFromメソッドに追加されました

これはMSからのちょっとしたミスですが、変換先のタイプが利用可能である必要があるように思われます。この回避策は、実装したModelBinderが使用されている場合にのみ機能します。

ああ、私はそれを乗り越えました

于 2010-11-10T11:00:03.477 に答える