共用方式為


TimeSpanMinutesConverter 類別

定義

轉換以分鐘表示的時間範圍。

public ref class TimeSpanMinutesConverter : System::Configuration::ConfigurationConverterBase
public class TimeSpanMinutesConverter : System.Configuration.ConfigurationConverterBase
type TimeSpanMinutesConverter = class
    inherit ConfigurationConverterBase
Public Class TimeSpanMinutesConverter
Inherits ConfigurationConverterBase
繼承
衍生

範例

下列程式代碼範例示範如何定義自定義 TimeSpanMinutesConverter 類型。

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Globalization;
using System.ComponentModel;

public sealed class CustomTimeSpanMinutesConverter :
    ConfigurationConverterBase
{
    internal bool ValidateType(object value, 
        Type expected)
    {
        bool result;

        if ((value != null) &&
            (value.GetType() != expected))
            result = false;
        else
            result = true;

        return result;
    }

    public override bool CanConvertTo(
        ITypeDescriptorContext ctx, Type type)
    {
        return (type == typeof(string));
    }

    public override bool CanConvertFrom(
        ITypeDescriptorContext ctx, Type type)
    {
        return (type == typeof(string));
    }

    public override object ConvertTo(
        ITypeDescriptorContext ctx, CultureInfo ci,
        object value, Type type)
    {
        ValidateType(value, typeof(TimeSpan));

        long data = (long)(((TimeSpan)value).TotalMinutes);

        return data.ToString(CultureInfo.InvariantCulture);
    }

    public override object ConvertFrom(
        ITypeDescriptorContext ctx, CultureInfo ci, object data)
    {

        long min = long.Parse((string)data,
            CultureInfo.InvariantCulture);

        return TimeSpan.FromMinutes((double)min);
    }
}
Imports System.Collections.Generic
Imports System.Text
Imports System.Configuration
Imports System.Globalization
Imports System.ComponentModel




NotInheritable Public Class CustomTimeSpanMinutesConverter
    Inherits ConfigurationConverterBase
    
    Friend Function ValidateType(ByVal value As Object, _
    ByVal expected As Type) As Boolean
        Dim result As Boolean

        If Not (value Is Nothing) _
        AndAlso value.ToString() <> expected.ToString() Then
            result = False
        Else
            result = True
        End If
        Return result

    End Function 'ValidateType
    
    
    Public Overrides Function CanConvertTo( _
    ByVal ctx As ITypeDescriptorContext, _
    ByVal type As Type) As Boolean
        Return (type.ToString() = GetType(String).ToString())

    End Function 'CanConvertTo
    
    Public Overrides Function CanConvertFrom( _
    ByVal ctx As ITypeDescriptorContext, _
    ByVal type As Type) As Boolean
        Return (type.ToString() = GetType(String).ToString())

    End Function 'CanConvertFrom
    
    Public Overrides Function ConvertTo( _
    ByVal ctx As ITypeDescriptorContext, _
    ByVal ci As CultureInfo, ByVal value As Object, _
    ByVal type As Type) As Object
        ValidateType(value, GetType(TimeSpan))

        Dim data As Long = _
        Fix(CType(value, TimeSpan).TotalMinutes)

        Return data.ToString(CultureInfo.InvariantCulture)

    End Function 'ConvertTo
    
    Public Overrides Function ConvertFrom( _
    ByVal ctx As ITypeDescriptorContext, _
    ByVal ci As CultureInfo, ByVal data As Object) As Object

        Dim min As Long = _
        Long.Parse(CStr(data), CultureInfo.InvariantCulture)

        Return TimeSpan.FromMinutes(System.Convert.ToDouble(min))

    End Function 'ConvertFrom

End Class

以下是上一個範例所使用的組態摘錄。

<configuration>  

  <configSections>  
    <section name="CustomSection"  
      type="Samples.AspNet.CustomSection,  
      ConfigurationConverters,  
      Version=1.0.0.0, Culture=neutral,  
      PublicKeyToken=null"  
      allowDefinition="Everywhere"  
      allowExeDefinition="MachineToApplication"  
      restartOnExternalChanges="true" />  
  </configSections>  

  <CustomSection fileName="default.txt" maxIdleTime="90"   
    timeDelay="infinite" cdStr="str0, str1" permission="Read"   
    maxUsers="Infinite"/>  

</configuration>  

備註

此類型就像所有其他組態轉換子類型一樣,會將組態檔中找到的字串轉換成相關強型別屬性,

特別是,會將TimeSpanMinutesConverter指派給組態屬性的分鐘數轉換為StringTimeSpan分鐘數,反之亦然。

類型 TimeSpanMinutesConverter 的值 long 會保存代表分鐘數的值。

建構函式

TimeSpanMinutesConverter()

初始化 TimeSpanMinutesConverter 類別的新執行個體。

方法

CanConvertFrom(ITypeDescriptorContext, Type)

判斷是否允許轉換。

(繼承來源 ConfigurationConverterBase)
CanConvertFrom(Type)

傳回值,指出這個轉換子是否可將指定之型別的物件轉換為這個轉換子的型別。

(繼承來源 TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

判斷是否允許轉換。

(繼承來源 ConfigurationConverterBase)
CanConvertTo(Type)

傳回值,指出這個轉換子是否可以將物件轉換成指定的型別。

(繼承來源 TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

String 轉換成 TimeSpan

ConvertFrom(Object)

會將指定值轉換為這個轉換子的型別。

(繼承來源 TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

會使用不區分的文化特性和指定的內容,將指定的字串轉換為這個轉換子的型別。

(繼承來源 TypeConverter)
ConvertFromInvariantString(String)

會使用不因文化特性而異,將指定字串轉換為這個轉換子的型別。

(繼承來源 TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

會使用指定內容和文化特性資訊,將指定文字轉換為物件。

(繼承來源 TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

會使用指定的內容,將指定文字轉換為物件。

(繼承來源 TypeConverter)
ConvertFromString(String)

會將指定的文字轉換成物件。

(繼承來源 TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

TimeSpan 轉換成 String

ConvertTo(Object, Type)

會使用引數,將指定值物件轉換成指定型別。

(繼承來源 TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

會使用指定的內容,將指定值轉換成不因文化特性而異的字串表示。

(繼承來源 TypeConverter)
ConvertToInvariantString(Object)

會將指定值轉換成不因文化特性而異的字串表示。

(繼承來源 TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

會使用指定的內容和文化特性資訊,將指定值轉換為字串表示。

(繼承來源 TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

會使用指定的內容,將指定值轉換為字串表示。

(繼承來源 TypeConverter)
ConvertToString(Object)

會將指定值轉換成字串表示。

(繼承來源 TypeConverter)
CreateInstance(IDictionary)

重新建立 Object,需為物件提供一組屬性值。

(繼承來源 TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

使用指定的內容,建立與這個 TypeConverter 相關聯之類型的執行個體,並為物件提供一組屬性值。

(繼承來源 TypeConverter)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetConvertFromException(Object)

傳回要在無法執行轉換時擲回的例外狀況。

(繼承來源 TypeConverter)
GetConvertToException(Object, Type)

傳回要在無法執行轉換時擲回的例外狀況。

(繼承來源 TypeConverter)
GetCreateInstanceSupported()

傳回值,指出在這個物件上變更值時是否需要呼叫 CreateInstance(IDictionary) 方法來建立新值。

(繼承來源 TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

傳回在這個物件上變更值是否需要呼叫 CreateInstance(IDictionary) 來建立新的值,並使用指定的內容。

(繼承來源 TypeConverter)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetProperties(ITypeDescriptorContext, Object)

會使用指定的內容,傳回由值參數所指定之陣列型別的屬性集合。

(繼承來源 TypeConverter)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

使用指定的內容和屬性 (attribute),傳回由該值參數所指定之陣列類型的屬性 (property) 集合。

(繼承來源 TypeConverter)
GetProperties(Object)

傳回由值參數所指定的陣列型別的屬性集合。

(繼承來源 TypeConverter)
GetPropertiesSupported()

傳回值,指出這個物件是否支援屬性。

(繼承來源 TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

使用指定的內容,傳回這個物件是否支援屬性。

(繼承來源 TypeConverter)
GetStandardValues()

從為這個型別轉換子所設計的資料型別預設內容中,會傳回標準值的集合。

(繼承來源 TypeConverter)
GetStandardValues(ITypeDescriptorContext)

提供格式內容時,傳回此類型轉換子所針對資料類型的標準值集合。

(繼承來源 TypeConverter)
GetStandardValuesExclusive()

傳回值,指出從 GetStandardValues() 所傳回的標準值集合是否為獨佔清單。

(繼承來源 TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

使用指定的內容,傳回從 GetStandardValues() 所傳回的標準值集合是否為可能值的獨占清單。

(繼承來源 TypeConverter)
GetStandardValuesSupported()

傳回這個物件是否支援可以從清單中選取的標準值集合。

(繼承來源 TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

會使用指定的內容傳回,這個物件是否支援可從清單中挑選的標準值集合。

(繼承來源 TypeConverter)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
IsValid(ITypeDescriptorContext, Object)

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

(繼承來源 TypeConverter)
IsValid(Object)

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

(繼承來源 TypeConverter)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
SortProperties(PropertyDescriptorCollection, String[])

排序屬性的集合。

(繼承來源 TypeConverter)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

另請參閱