ExpandableObjectConverter Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет преобразователь типа для преобразования расширяемых объектов в прочие представления и обратно.
public ref class ExpandableObjectConverter : System::ComponentModel::TypeConverter
public class ExpandableObjectConverter : System.ComponentModel.TypeConverter
type ExpandableObjectConverter = class
inherit TypeConverter
Public Class ExpandableObjectConverter
Inherits TypeConverter
- Наследование
- Производный
Примеры
В следующем примере кода переменная типа 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, укажите его TypeConverter для стандартных реализаций GetPropertiesSupported и GetProperties. Пометьте дочерние 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) |
Преобразует заданный объект в тип данного преобразователя с использованием указанного контекста и сведений о культуре. (Унаследовано от 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) |
Возвращает исключение, возникающее в случае, если невозможно выполнить преобразование. (Унаследовано от 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) |