다음을 통해 공유


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 System.Drawing.Printing.Margins(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
{
    private int borderSizeValue = 1;
    private Color borderColorValue = Color.Empty;

    [Browsable(true),
    NotifyParentProperty(true),
    EditorBrowsable(EditorBrowsableState.Always),
    DefaultValue(1)]
    public int BorderSize
    {
        get
        {
            return 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
        {
            return 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만들려면 및 GetPropertiesGetPropertiesSupported 표준 구현에 대해 이 TypeConverter 형식을 지정합니다. 자식 속성을 로 NotifyParentPropertyAttribute 표시하여 컨트롤에서 올바른 동작을 PropertyGrid 보장합니다.

참고

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

형식 변환기에 대 한 자세한 내용은 참조는 TypeConverter 기본 클래스 및 방법: 형식 변환기를 구현합니다.

생성자

ExpandableObjectConverter()

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

메서드

CanConvertFrom(ITypeDescriptorContext, Type)

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

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

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

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

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

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

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

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

지정한 컨텍스트와 culture 정보를 사용하여 지정된 개체를 이 변환기의 유형으로 변환합니다.

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

지정한 컨텍스트와 culture 정보를 사용하여 지정된 값 개체를 지정된 유형으로 변환합니다.

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

인수를 사용하여, 지정된 값 개체를 지정된 형식으로 변환합니다.

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

지정된 context를 사용하여, 지정된 값을 고정 문화권의 문자열 표현으로 변환합니다.

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

적용 대상

추가 정보