zoukankan
html css js c++ java
让你的控件属性注释支持多语言
我们知道在开发控件时,可以为某个属性添加
DescriptionAttribute
标记,就可以在属性栏中显示他的注释,像下面这样:
private
int
_qua;
[Description(
"
此订单明细的数量
"
)]
public
int
Qua
{
get
{
return
_qua; }
set
{ _qua
=
value; }
}
但你会发现,注释的字符串是中文文本写死的,如果我希望控件在英文的环境下显示英文的注释应该怎么办呢?.NET Framework就可以显示不同语言的注释,他是怎么解决的呢?
反编译.NET Framework,我们发现他的注释并没有
DescriptionAttribute,而是使用了S
RDescriptionAttribute
,例如:
[SRDescription(
"
ControlBottomDescr
"
)]
public
int
Bottom
{
get
{
return
(
this
.y
+
this
.height);
}
}
在注释中,.NET Framework没有的确没有直接写英文注释,而是写了一个资源关键字,再查看
SRDescriptionAttribute
的实现。
[AttributeUsage(AttributeTargets.All)]
internal
sealed
class
SRDescriptionAttribute : DescriptionAttribute
{
private
bool
replaced;
public
SRDescriptionAttribute(
string
description)
:
base
(description)
{
}
public
override
string
Description
{
get
{
if
(
!
this
.replaced)
{
this
.replaced
=
true
;
base
.DescriptionValue
=
SR.GetString(
base
.Description);
}
return
base
.Description;
}
}
}
太简单,太巧妙了,他重载了Description的Get,改从资源文件中获取。
就这么简单。
查看全文
相关阅读:
报表打印
MyGridControl
用户控件制作时设计模式加载报错的解决办法
代码生成工具
上传控件的使用
数据加密
DevExpress介绍
记一次手动安装pecl扩展memcache
关于httpd.conf的一点随笔
temp
原文地址:https://www.cnblogs.com/tansm/p/266563.html
最新文章
Linux内存高,触发oomkiller问题解决
RedHat系统的Yum安装
云平台encalyptus安装配置实践
创建Linux下Xen虚拟机
Perl的特殊符号
Perl 学习手札总目录
ubuntu 文件误删除回复方法
中国应用开发者年收入普遍偏低:35%不足万元
Perl 学习手札之四:variables and value
Perl资料共享(下载)43本电子书
热门文章
安装monaco字体的脚本
Ubuntu11.10设置桌面启动器(桌面快捷方式)
支持在Ubuntu 8.10、Ubuntu 9.04系统上自动安装微软雅黑、monacolinux、lu..
Ubuntu11.10安装Matlab2011b及相关问题解决
Storm的简单介绍与安装
HDFS文件系统内的文件格式转换(zip格式转化成gzip格式)
Shell脚本学习
从零开始
控件汇总
工作流
Copyright © 2011-2022 走看看