다음을 통해 공유


ExpandableObjectConverter 클래스

정의

확장 가능한 개체를 다양한 다른 표현으로 변환하는 형식 변환기를 제공합니다.

public ref class ExpandableObjectConverter : System::ComponentModel::TypeConverter
public class ExpandableObjectConverter : System.ComponentModel.TypeConverter
type ExpandableObjectConverter = class
    inherit TypeConverter
Public Class ExpandableObjectConverter
Inherits TypeConverter
상속
ExpandableObjectConverter
파생

예제

다음 코드 예제에서는 형식 Margins 의 변수를 문자열 변수로 변환합니다.

String^ strM = "1,2,3,4";
System::Drawing::Printing::Margins^ m = gcnew System::Drawing::Printing::Margins( 1,2,3,4 );
Console::WriteLine( TypeDescriptor::GetConverter( strM )->CanConvertTo( System::Drawing::Printing::Margins::typeid ) );
Console::WriteLine( TypeDescriptor::GetConverter( m )->ConvertToString( m ) );
string strM = "1,2,3,4";
System.Drawing.Printing.Margins m = new(1, 2, 3, 4);
Console.WriteLine(TypeDescriptor.GetConverter(strM).CanConvertTo(typeof(System.Drawing.Printing.Margins)));
Console.WriteLine(TypeDescriptor.GetConverter(m).ConvertToString(m));
Dim strM As String
strM = "1,2,3,4"
            Dim m As New System.Drawing.Printing.Margins(1, 2, 3, 4)
Console.WriteLine(TypeDescriptor.GetConverter(strM).CanConvertTo(GetType(System.Drawing.Printing.Margins)))
Console.WriteLine(TypeDescriptor.GetConverter(m).ConvertToString(m))

다음 코드 예제에서는 사용자 지정 컨트롤에 NotifyParentPropertyAttribute 확장 가능한 속성을 만들기 위해 클래스를 ExpandableObjectConverter 사용 하는 방법을 보여 줍니다. 이 코드 예제는 클래스에 제공된 더 큰 예제의 NotifyParentPropertyAttribute 일부입니다.

[TypeConverter(typeof(BorderAppearanceConverter))]
public class BorderAppearance
{
    int borderSizeValue = 1;
    Color borderColorValue = Color.Empty;

    [Browsable(true),
    NotifyParentProperty(true),
    EditorBrowsable(EditorBrowsableState.Always),
    DefaultValue(1)]
    public int BorderSize
    {
        get => borderSizeValue;
        set
        {
            if (value < 0)
            {
                throw new ArgumentOutOfRangeException(
                    "BorderSize",
                    value,
                    "must be >= 0");
            }

            if (borderSizeValue != value)
            {
                borderSizeValue = value;
            }
        }
    }

    [Browsable(true)]
    [NotifyParentProperty(true)]
    [EditorBrowsable(EditorBrowsableState.Always)]
    [DefaultValue(typeof(Color), "")]
    public Color BorderColor
    {
        get => borderColorValue;
        set
        {
            if (value.Equals(Color.Transparent))
            {
                throw new NotSupportedException("Transparent colors are not supported.");
            }

            if (borderColorValue != value)
            {
                borderColorValue = value;
            }
        }
    }
}
<TypeConverter(GetType(BorderAppearanceConverter))>  _
Public Class BorderAppearance
    Private borderSizeValue As Integer = 1
    Private borderColorValue As Color = Color.Empty
    
    
    <Browsable(True), NotifyParentProperty(True), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(1)>  _
    Public Property BorderSize() As Integer 
        Get
            Return borderSizeValue
        End Get
        Set
            If value < 0 Then
                Throw New ArgumentOutOfRangeException("BorderSize", value, "must be >= 0")
            End If
            
            If borderSizeValue <> value Then
                borderSizeValue = value
            End If
        End Set
    End Property
    
    
    <Browsable(True), NotifyParentProperty(True), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(GetType(Color), "")>  _
    Public Property BorderColor() As Color 
        Get
            Return borderColorValue
        End Get
        Set
            If value.Equals(Color.Transparent) Then
                Throw New NotSupportedException("Transparent colors are not supported.")
            End If
            
            If borderColorValue <> value Then
                borderColorValue = value
            End If
        End Set
    End Property
End Class

설명

이 클래스는 개체의 속성에 대한 지원을 제공된 메서드 및 속성에 TypeConverter추가합니다. 속성 형식을 확장할 수 PropertyGrid있도록 하려면 표준 구현에 대해 이를 TypeConverter 지정합니다 GetPropertiesSupportedGetProperties. 컨트롤에서 올바른 동작을 NotifyParentPropertyAttribute 보장하기 위해 자식 속성을 해당 속성으로 PropertyGrid 표시합니다.

메모

형식 변환기는 직접 액세스해서는 안 됩니다. 대신 .를 사용하여 TypeDescriptor적절한 변환기를 호출합니다. 자세한 내용은 기본 클래스의 예제를 TypeConverter 참조하세요.

형식 변환기에 대한 자세한 내용은 기본 클래스를 TypeConverter 참조하세요.

생성자

Name Description
ExpandableObjectConverter()

ExpandableObjectConverter 클래스의 새 인스턴스를 초기화합니다.

메서드

Name Description
CanConvertFrom(ITypeDescriptorContext, Type)

이 변환기가 지정된 컨텍스트를 사용하여 지정된 형식의 개체를 이 변환기의 형식으로 변환할 수 있는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
CanConvertFrom(Type)

이 변환기가 지정된 형식의 개체를 이 변환기의 형식으로 변환할 수 있는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

이 변환기가 지정된 컨텍스트를 사용하여 개체를 지정된 형식으로 변환할 수 있는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
CanConvertTo(Type)

이 변환기가 개체를 지정된 형식으로 변환할 수 있는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

지정된 컨텍스트 및 문화권 정보를 사용하여 지정된 개체를 이 변환기의 형식으로 변환합니다.

(다음에서 상속됨 TypeConverter)
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)

지정된 컨텍스트 및 문화권 정보를 사용하여 지정된 값 개체를 지정된 형식으로 변환합니다.

(다음에서 상속됨 TypeConverter)
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)

변환을 수행할 수 없는 경우 throw할 예외를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetConvertToException(Object, Type)

변환을 수행할 수 없는 경우 throw할 예외를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetCreateInstanceSupported()

이 개체의 값을 변경하려면 메서드를 호출하여 CreateInstance(IDictionary) 새 값을 만들어야 하는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

이 개체의 값을 변경하려면 지정된 컨텍스트를 사용하여 새 값을 만들기 위한 CreateInstance(IDictionary) 호출이 필요한지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

값 매개 변수로 지정된 개체 형식에 대한 속성 컬렉션을 가져옵니다.

GetProperties(ITypeDescriptorContext, Object)

지정된 컨텍스트를 사용하여 값 매개 변수로 지정된 배열 형식에 대한 속성 컬렉션을 반환합니다.

(다음에서 상속됨 TypeConverter)
GetProperties(Object)

값 매개 변수로 지정된 배열 형식에 대한 속성 컬렉션을 반환합니다.

(다음에서 상속됨 TypeConverter)
GetPropertiesSupported()

이 개체가 속성을 지원하는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

이 개체가 지정된 컨텍스트를 사용하여 속성을 지원하는지 여부를 나타내는 값을 가져옵니다.

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)

적용 대상

추가 정보