TypeConverter.IsValid 方法

定義

會傳回指定值物件是否對這個型別有效。

多載

IsValid(ITypeDescriptorContext, Object)

傳回指定值物件對這個類型和指定的內容是否有效。

IsValid(Object)

會傳回指定值物件是否對這個型別有效。

IsValid(ITypeDescriptorContext, Object)

來源:
TypeConverter.cs
來源:
TypeConverter.cs
來源:
TypeConverter.cs

傳回指定值物件對這個類型和指定的內容是否有效。

C#
public virtual bool IsValid (System.ComponentModel.ITypeDescriptorContext context, object value);
C#
public virtual bool IsValid (System.ComponentModel.ITypeDescriptorContext? context, object? value);

參數

context
ITypeDescriptorContext

提供格式內容的 ITypeDescriptorContext

value
Object

測試有效性的 Object

傳回

如果指定的值對這個物件有效,則為 true;否則為 false

範例

如需此函式的範例,請參閱 TypeConverter 類別。

備註

context 參數可以用於擷取環境的其他資訊,而這個轉換子就是從該環境叫用的。 此參數可以是 null,因此請一律檢查它。 甚至,內容物件上的屬性可能會傳回 null

從 .NET Framework 4 開始,方法會IsValid攔截 和 ConvertFrom 方法的CanConvertFrom例外狀況。 如果輸入值類型造成 CanConvertFrom 傳回 false,或輸入值造成 ConvertFrom 引發例外狀況,則 IsValid 方法會傳 false回 。

若要啟用舊版行為,請將下列幾行插入 .NET Framework 應用程式的組態檔中。

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

給繼承者的注意事項

如果您想要轉換的類型支援可驗證的標準值,請覆寫這個方法。

方法 IsValid(ITypeDescriptorContext, Object) 可用來驗證型別內的值,而不是判斷是否可以 value 轉換成指定的型別。 例如, IsValid(ITypeDescriptorContext, Object) 可用來判斷指定的值是否對列舉型別有效。 如需範例,請參閱 EnumConverter

另請參閱

適用於

.NET 9 和其他版本
產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

IsValid(Object)

來源:
TypeConverter.cs
來源:
TypeConverter.cs
來源:
TypeConverter.cs

會傳回指定值物件是否對這個型別有效。

C#
public bool IsValid (object value);

參數

value
Object

要測試有效性的物件。

傳回

如果指定的值對這個物件有效,則為 true;否則為 false

備註

從 .NET Framework 4 開始,方法會IsValid攔截 和 ConvertFrom 方法的CanConvertFrom例外狀況。 如果輸入值類型造成 CanConvertFrom 傳回 false,或輸入值造成 ConvertFrom 引發例外狀況,則 IsValid 方法會傳 false回 。

若要啟用舊版行為,請將下列幾行插入 .NET Framework 應用程式的組態檔中。

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

給繼承者的注意事項

如果您想要轉換的類型支援可驗證的標準值,請覆寫這個方法。

方法 IsValid(Object) 可用來驗證型別內的值,而不是判斷是否可以 value 轉換成指定的型別。 例如, IsValid(Object) 可用來判斷指定的值是否對列舉型別有效。 如需範例,請參閱 EnumConverter

您可以將 和 ConvertFrom 方法包裝ConvertTo在例外狀況區塊中,以撰寫自己的WillConvertSucceed方法。

另請參閱

適用於

.NET 9 和其他版本
產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1