首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏dino.c的专栏

    了解TypeConverter

    虽然UWP中TypeConverter已经彻彻底底退居幕后,连自定义TypeConverver都不可以,但了解TypeConverter的原理对理解XAML解析器的运作方式总是有帮助的。 2. .Net中的TypeConverter TypeConverter在.NET 的早期版本中就已经存在,它可以将一种类型的值转换为其它类型,典型的用法是在数据类型和字符串之间转换。 使用TypeConverter不需要担心可以转换的数据类型太少,BCL中已实现了一大堆继承TypeConverter的类,基本满足日常使用。 除了这些已实现的TypeConverter,还可以实现自己的TypeConverter,扩展性方面完全没有问题。 ? 结语 因为本地化的文章提到TypeConverter,正好手头的工作要用到TypeConverter,所以才想写一篇文章介绍这个概念。

    97420发布于 2019-01-18
  • 来自专栏菩提树下的杨过

    深度解析 TypeConverter & TypeConverterAttribute (一)

    然而我们如何编写自定义的TypeConverter类呢,又怎么样在复杂控件中使用呢。 TypeConverter Class TypeConverter类就是将一种类型(object,可以说是任何类型)转换到另一种类型(一般为string),或者将另一种类型转换回来。 所有继承TypeConverter类型的都必须实现4个方法:(这里以另一种类型string为例) CanConverterTo 有两个重载方法,              TypeConverter.CanConvertTo CanConverterFrom 重载,              TypeConverter.CanConvertFrom (Type)              TypeConverter.CanConvertFrom ConverterFrom 重载,             TypeConverter.ConvertFrom (Object)             TypeConverter.ConvertFrom

    1.1K60发布于 2018-01-23
  • 来自专栏用户7737280的专栏

    TypeConverter中实现了toNative

    而这个TypeConverter就是最终要使用的FromNativeConverter和ToNativeConverter。 有了typeMapper,应该怎么使用呢?

    1.1K20编辑于 2022-04-14
  • 来自专栏剑指工控

    PKS系统中的TYPECONVERTER功能块

    TYPECONVERTER功能块就是PKS里的万能转换器。 此功能块的左边连接需要转换的参数,右边输出转换后的参数。

    1.1K20编辑于 2022-11-14
  • 来自专栏GreenLeaves

    自定义类型转换器之TypeConverter

    so.C#提供了一个类型-TypeConverter来帮助我们完成类型转换的功能,TypeConverter类就是将一种类型(object,当然可以是任意类型)转换成一种类型(一般为string,当然也可以是其他的类型 ).或者将另一种类型转换回来. 1、所有继承TypeConverter必须实现的虚方法 (1)、CanConverterTo:两个重载的方法 a、TypeConverter.CanConvertTo ( ,在方法体里面判断这个参数的Type如果是string,返回true,否则为false; (2)、ConverterTo:两个重载的方法 a、TypeConverter.ConvertTo (Object , Type) b、TypeConverter.ConvertTo (ITypeDescriptorContext, CultureInfo, Object, Type) 都有Object参数和Type (3)、CanConverterFrom:两个重载的方法 a、TypeConverter.CanConvertFrom (Type)  b、TypeConverter.CanConvertFrom (ITypeDescriptorContext

    1.6K70发布于 2018-01-26
  • 来自专栏BAT的乌托邦

    【小家Spring】聊聊Spring中的数据转换:Converter、ConversionService、TypeConverter、PropertyEditor

    ---- org.springframework.beans.TypeConverter TypeConverter在org.springframework.expression包中还有一个,注意区分。 通常(但不一定)与PropertyEditorRegistry接口一起实现 // 通常接口TypeConverter的实现是基于非线程安全的PropertyEditors类,因此也不是线程安全的 public TypeConverterSupport TypeConverter的基本实现类,同时也是BeanWrapperImpl类的依赖类。 public abstract class TypeConverterSupport extends PropertyEditorRegistrySupport implements TypeConverter SimpleTypeConverter 不在特定目标对象上运行的TypeConverter接口的简单实现。

    6.9K31发布于 2019-09-03
  • 来自专栏dino.c的专栏

    使用TextBlockHighlightSource强化高亮的功能,以及使用TypeConverter简化调用

    为了可以简化调用可以使用自定义的TypeConverter。 首先来了解一下TypeConverter的概念。XAML本质上是XML,其中的属性内容全部都是字符串。 XAML解析器通过两个步骤查找TypeConverter: 1. 检查属性声明上的TypeConverterAttribute。 2. WPF内置的TypeConverter十分十分多,但有时还是需要自定义TypeConverter,自定义TypeConverter的基本步骤如下: 创建一个继承自TypeConverter的类; 重写virtual ; 到这里我想TypeConverter的概念已经介绍得够详细了。 这篇文章介绍了使用TypeConverter简化调用,以及继承自FrameworkElement以便使用Style。 5.

    1.1K30发布于 2019-07-01
  • 来自专栏独立观察员博客

    又教 DeepSeek 做人了——论 WPF 中 TypeConverter 在附加属性中的应用

    [DeepSeek] WPF 的 TypeConverter 在附加属性中的应用 [DeepSeek] 。。。 from=web) [DLGCY] 你说的好像不对吧,实际上这样写就能赋值 Auto: [TypeConverter(typeof(LengthConverter))] public static double 底层机制 XAML 解析器在解析附加属性时,会优先检查其 Get 方法上的 TypeConverter 特性。 类声明上方 ❌ 无效 [TypeConverter(...)] class MyAttached 依赖属性字段 public static DependencyProperty ❌ 无效 [TypeConverter 在 Get 方法上标注 TypeConverter      [TypeConverter(typeof(LengthConverter))]     public static double GetContentWidth

    26600编辑于 2025-07-08
  • 来自专栏我们一无所有,我们巍然矗立

    Spring依赖注入源码分析

    typeConverter) throws BeansException { // 嵌套注入的保护点 InjectionPoint previousInjectionPoint = converter = (typeConverter ! typeConverter) { // 注入对象的类型 final Class<? = null) { autowiredBeanNames.addAll(matchingBeans.keySet()); } TypeConverter converter = (typeConverter = null) { autowiredBeanNames.addAll(matchingBeans.keySet()); } TypeConverter converter = (typeConverter

    79930编辑于 2022-07-30
  • 来自专栏CodingToDie

    Java | Apollo 是如何实现配置更新的

    final Environment environment; private final ConfigurableBeanFactory beanFactory; private final TypeConverter typeConverter; private final PlaceholderHelper placeholderHelper; private final SpringValueRegistry testTypeConverterHasConvertIfNecessaryWithFieldParameter(); this.beanFactory = beanFactory; this.typeConverter Spring 3.2.0+ if (typeConverterHasConvertIfNecessaryWithFieldParameter) { value = this.typeConverter (value, springValue.getTargetType()); } } else { value = this.typeConverter.convertIfNecessary

    2.5K10发布于 2021-03-18
  • 来自专栏一个会写诗的程序员的博客

    Spring 注入 Bean 到 List / Map 中

    converter = (typeConverter ! typeConverter : getTypeConverter()); return (descriptor.getField() ! typeConverter) { Class<? converter = (typeConverter ! converter = (typeConverter !

    2.9K20发布于 2020-02-13
  • 来自专栏跟着阿笨一起玩NET

    PropertyGrid中的枚举显示为中文

    PropertyGrid显示复杂属性需要TypeConverter,也就是一个转换 器,可以对其进行设置,显示我们想要的格式、内容。 但是,每个枚举都要建立自己的TypeConverter,如果在架构设计中,一般都是分层实现,这样的横跨直接影响了分层结构,破坏系 统的原本。有没有一种更好的办法来实现呢?本文也就这一问题进行了研究。 本文的实现原理: 在TypeConverter中对枚举类型进行转换,但是这个 TypeConverter针对的所有的枚举对象,所有的枚举转换器都可以采用此接口,在枚举显示的时候调用TypeConverter 这样所有的枚举就只定义一个TypeConverter。也就解决上述问题。 /// 由外面传入 /// [Description("外部传入")] Outer =2 } } 2、定义TypeConverter

    1.7K20发布于 2018-09-18
  • 来自专栏一个会写诗的程序员的博客

    Spring Boot 自定义注解支持EL表达式(基于 MethodBasedEvaluationContext 实现)

    private List<PropertyAccessor> propertyAccessors; private TypeLocator typeLocator; private TypeConverter typeConverter; private TypeComparator typeComparator = new StandardTypeComparator(); private typeConverter) { Assert.notNull(typeConverter, "TypeConverter must not be null"); this.typeConverter = typeConverter; } public TypeConverter getTypeConverter() { if (this.typeConverter == null) { this.typeConverter = new StandardTypeConverter(); } return this.typeConverter

    4.2K30发布于 2021-04-02
  • 来自专栏全球技术精选

    使用 C# 9 的records作为强类型ID - 路由和查询参数

    实现类型转换器 这里的解决方案是为实现一个类型转换器ProductId,很简单: public class ProductIdConverter : TypeConverter { public public class StronglyTypedIdConverter<TValue> : TypeConverter where TValue : notnull { private static readonly TypeConverter IdValueConverter = GetIdValueConverter(); private static TypeConverter { private static readonly ConcurrentDictionary<Type, TypeConverter> ActualConverters = new(); [TypeConverter(typeof(StronglyTypedIdConverter))] public abstract record StronglyTypedId<TValue>(TValue

    2.7K20发布于 2021-01-21
  • 来自专栏大内老A

    Enterprise Library深入解析与灵活应用(4):创建一个自定义Exception Handler改变ELAB的异常处理机制

    1: <filters> 2: <add property="Message" value="xxx" name="filter1" typeConverter="System.ComponentModel.TypeConverter "] = value; 45: } 46: } 47: public TypeConverter TypeConverter 48: typeConverter = Activator.CreateInstance(typeConverterType) as TypeConverter; 66: if 此外还具有一个额外的属性:TypeConverter,用于类型的转化。 默认的TypeConverter为System.ComponentModel.TypeConverter

    75220编辑于 2022-05-09
  • 来自专栏一块自留地

    Spring注解@Autowired源码分析

    = null, "No BeanFactory available"); //获取容器中的类型转换器 TypeConverter typeConverter = beanFactory.getTypeConverter converter = (typeConverter ! typeConverter) { Class<? = null) { autowiredBeanNames.addAll(matchingBeans.keySet()); } TypeConverter converter = (typeConverter = null) { autowiredBeanNames.addAll(matchingBeans.keySet()); } TypeConverter converter = (typeConverter

    1.5K10发布于 2019-10-12
  • 来自专栏一块自留地

    Spring注解@Autowired源码分析

    = null, "No BeanFactory available"); //获取容器中的类型转换器 TypeConverter typeConverter = beanFactory.getTypeConverter converter = (typeConverter ! = null) { autowiredBeanNames.addAll(matchingBeans.keySet()); } TypeConverter converter = (typeConverter = null) { autowiredBeanNames.addAll(matchingBeans.keySet()); } TypeConverter converter = (typeConverter = null, "No BeanFactory available"); //获取容器的类型转换器 TypeConverter typeConverter = beanFactory.getTypeConverter

    1.3K21发布于 2020-10-16
  • 来自专栏chenssy

    【死磕 Spring】----- IOC 之 属性填充

    实例 // 使用自定义的 TypeConverter,用于取代默认的 PropertyEditor 机制 TypeConverter converter = getCustomTypeConverter typeConverter) throws BeansException { // 注入点 InjectionPoint previousInjectionPoint = converter = (typeConverter ! typeConverter : getTypeConverter()); return (descriptor.getField() ! TypeConverter converter = getCustomTypeConverter(); if (converter == null) {

    1.1K10发布于 2018-12-06
  • 来自专栏BAT的乌托邦

    聊聊Spring中的数据绑定 --- DataBinder本尊(源码分析)【享学Spring】

    TypeConverter这两个接口,因此它可以注册java.beans.PropertyEditor,并且能完成类型转换(TypeConverter)。 关于数据转换这块内容,有兴趣的可参见:【小家Spring】聊聊Spring中的数据转换:Converter、ConversionService、TypeConverter、PropertyEditor 接下里分析具体源码(需要解释说明都写在源码处了): public class DataBinder implements PropertyEditorRegistry, TypeConverter == null) { this.typeConverter = new SimpleTypeConverter(); if (this.conversionService ! = null) { this.typeConverter.setConversionService(this.conversionService); } } return this.typeConverter

    1.1K30发布于 2019-09-03
  • 来自专栏Java后端技术栈cwnait

    @Autowired通过源码进行原理详解

    converter = (typeConverter ! typeConverter : getTypeConverter()); return (descriptor.getField() ! typeConverter) { Class<? converter = (typeConverter ! converter = (typeConverter !

    2.6K41发布于 2019-07-16
领券