TypeConverter.IsValid Metoda

Definicja

Zwraca, czy dany obiekt wartości jest prawidłowy dla tego typu.

Przeciążenia

Nazwa Opis
IsValid(ITypeDescriptorContext, Object)

Zwraca, czy dany obiekt wartości jest prawidłowy dla tego typu i dla określonego kontekstu.

IsValid(Object)

Zwraca, czy dany obiekt wartości jest prawidłowy dla tego typu.

IsValid(ITypeDescriptorContext, Object)

Zwraca, czy dany obiekt wartości jest prawidłowy dla tego typu i dla określonego kontekstu.

public:
 virtual bool IsValid(System::ComponentModel::ITypeDescriptorContext ^ context, System::Object ^ value);
public virtual bool IsValid(System.ComponentModel.ITypeDescriptorContext context, object value);
abstract member IsValid : System.ComponentModel.ITypeDescriptorContext * obj -> bool
override this.IsValid : System.ComponentModel.ITypeDescriptorContext * obj -> bool
Public Overridable Function IsValid (context As ITypeDescriptorContext, value As Object) As Boolean

Parametry

context
ITypeDescriptorContext

Element ITypeDescriptorContext , który udostępnia kontekst formatu.

value
Object

Element Object do przetestowania pod kątem ważności.

Zwraca

true jeśli określona wartość jest prawidłowa dla tego obiektu; w przeciwnym razie, false.

Przykłady

Przykład tej funkcji można znaleźć w TypeConverter klasie .

Uwagi

Użyj parametru , context aby wyodrębnić dodatkowe informacje o środowisku, z którego jest wywoływany ten konwerter. Ten parametr może mieć nullwartość , więc zawsze go sprawdzaj. Ponadto właściwości obiektu kontekstu mogą zwracać wartość null.

Począwszy od programu .NET Framework 4, metoda IsValid przechwytuje wyjątki od metod CanConvertFrom i ConvertFrom. Jeśli typ wartości wejściowej powoduje CanConvertFrom zwrócenie falsewartości , lub jeśli wartość wejściowa powoduje ConvertFrom wystąpienie wyjątku, IsValid metoda zwraca falsewartość .

Aby włączyć starsze zachowanie, wstaw następujące wiersze do pliku konfiguracji aplikacji platformy .NET Framework.

<configuration>
  <appSettings>
    <add key="UseCompatibleTypeConverterBehavior" value="true" />
  </appSettings>
</configuration>

Notatki dotyczące dziedziczenia

Zastąpi tę metodę, jeśli typ, który chcesz przekonwertować, obsługuje wartości standardowe, które można zweryfikować.

Metoda IsValid(ITypeDescriptorContext, Object) służy do sprawdzania poprawności wartości w typie, a nie do określenia, czy value można przekonwertować na dany typ. Na przykład można użyć do określenia, IsValid(ITypeDescriptorContext, Object) czy dana wartość jest prawidłowa dla typu wyliczenia. Aby zapoznać się z przykładem, zobacz EnumConverter.

Zobacz też

Dotyczy

IsValid(Object)

Zwraca, czy dany obiekt wartości jest prawidłowy dla tego typu.

public:
 bool IsValid(System::Object ^ value);
public bool IsValid(object value);
member this.IsValid : obj -> bool
Public Function IsValid (value As Object) As Boolean

Parametry

value
Object

Obiekt do testowania pod kątem ważności.

Zwraca

true jeśli określona wartość jest prawidłowa dla tego obiektu; w przeciwnym razie, false.

Uwagi

Począwszy od programu .NET Framework 4, metoda IsValid przechwytuje wyjątki od metod CanConvertFrom i ConvertFrom. Jeśli typ wartości wejściowej powoduje CanConvertFrom zwrócenie falsewartości , lub jeśli wartość wejściowa powoduje ConvertFrom wystąpienie wyjątku, IsValid metoda zwraca falsewartość .

Aby włączyć starsze zachowanie, wstaw następujące wiersze do pliku konfiguracji aplikacji platformy .NET Framework.

<configuration>
  <appSettings>
    <add key="UseCompatibleTypeConverterBehavior" value="true" />
  </appSettings>
</configuration>

Notatki dotyczące dziedziczenia

Zastąpi tę metodę, jeśli typ, który chcesz przekonwertować, obsługuje wartości standardowe, które można zweryfikować.

Metoda IsValid(Object) służy do sprawdzania poprawności wartości w typie, a nie do określenia, czy value można przekonwertować na dany typ. Na przykład można użyć do określenia, IsValid(Object) czy dana wartość jest prawidłowa dla typu wyliczenia. Aby zapoznać się z przykładem, zobacz EnumConverter.

Możesz napisać własną WillConvertSucceed metodę, opakowując ConvertTo metody i ConvertFrom w blokach wyjątków.

Zobacz też

Dotyczy