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(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))
В следующем примере кода показано, как использовать NotifyParentPropertyAttributeExpandableObjectConverter и класс для создания расширяемого свойства в пользовательском элементе управления. Этот пример кода является частью более крупного примера, предоставленного для 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 для стандартных реализаций 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) |