编写人生
写写代码,写写人生
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 187 文章- 0 评论- 587
让你的控件属性注释支持多语言
我们知道在开发控件时,可以为某个属性添加
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,改从资源文件中获取。
就这么简单。
posted @ 2005-11-01 18:46
编写人生
阅读(1555)
评论(2)
编辑
收藏
网摘
发表评论
回复
引用
查看
#1楼
2005-11-02 10:15 |
重出江湖
呵呵,聪明
回复
引用
#2楼
2007-05-03 23:07 |
sdfdf[未注册用户]
NB呀
刷新评论
切换模板
发表评论
昵称:
[登录]
[注册]
主页:
邮箱:
(仅博主可见)
验证码:
看不清,换一个
评论内容:
登录
注册
[使用Ctrl+Enter键快速提交评论]
0
266563
导航:
网站首页
社区
新闻
博问
闪存
网摘
招聘
找找看
Google搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关文章:
最新IT新闻:
19岁天才黑客发布首个iPhone 3GS破解软件
新浪邮箱大本营粉墨登场!Sina.cn开放注册
IE市场份额首次跌破60%
Google App Engine宕机6小时——云的安全在哪里?
微软新推社交网站Windows Live Planet
相关链接:
公告
Web
tansm.cnblogs.com
<
2005年11月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
我的标签
Torridity(2)
Entity Framework(2)
性能(2)
ORM(2)
LinQ(2)
DataSet(1)
Insert(1)
发明畅想(1)
随笔档案
2009年4月 (1)
2009年3月 (1)
2009年2月 (2)
2009年1月 (1)
2008年12月 (1)
2008年11月 (1)
2008年10月 (1)
2008年9月 (1)
2008年6月 (4)
2008年5月 (3)
2008年4月 (6)
2008年3月 (5)
2008年2月 (1)
2008年1月 (4)
2007年12月 (2)
2007年11月 (2)
2007年10月 (2)
2007年9月 (5)
2007年8月 (2)
2007年7月 (4)
2007年6月 (1)
2007年5月 (1)
2007年4月 (3)
2007年3月 (5)
2007年2月 (1)
2006年12月 (2)
2006年11月 (7)
2006年10月 (4)
2006年9月 (1)
2006年8月 (8)
2006年7月 (6)
2006年6月 (7)
2006年5月 (2)
2006年4月 (1)
2006年3月 (8)
2006年2月 (6)
2006年1月 (2)
2005年12月 (5)
2005年11月 (3)
2005年10月 (2)
2005年9月 (4)
2005年8月 (12)
2005年7月 (12)
2005年6月 (2)
2005年5月 (4)
2005年4月 (1)
2005年1月 (13)
2004年12月 (6)
2004年11月 (9)
相册
taobao
收藏夹
WinFX(8)
(rss)
编程朋友
AdamBear 越学越没底
(rss)
Arbean
Masterpiece 纯爷们!在乎?
(rss)
Validation Application Block: Revealed
我的高中同学录
怎么捅破那层纸?(续)
很好的性能调优的文章,包括内存和SQL的
积分与排名
积分 - 144779
排名 - 356
最新评论
1. re: 相信自己,我能2 — ORM 工具的插入性能比较
To 轩辕: 您好,测试环境对于测试的结果影响很大,除了常见的计算机配置,使用的版本有关外,还与插入的数据字段数量、数据的大小有关。 在那次测试中,如果我们将测试机器和数据库拆开,我们发现... (编写人生)
2. re: 相信自己,我能2 — ORM 工具的插入性能比较
我测试用EF插入一万条数据花费的时间是:
没有加事务:21509
加事务:5932 (轩辕)
3. re: 差点买养老保险了!!保险和存款你算过吗?你一定要看的
不知道以后怎么养老,哎 (canbeing)
4. re: 结束租房生活,开始自己的新家新生活
恭喜恭喜,
像我们这样的人,要买个房真不容易啊 (canbeing)
5. re: 压缩空气动力自行车
机械传动:有电传动、气传动、液压传动,电传动效率第一,液压传动次之,再次之是气传动,在工程上优先选用,电传动、液压传动,没办法时或条件限制必须采用气传动时才选用气传动,气传动效率太低哦。空气动力车的流... (不可能的任务)
阅读排行榜
1. 压缩空气动力自行车(15091)
2. 我们为什么使用ORM?(10560)
3. ORM的世界(修订版)(4149)
4. System.ComponentModel.Component入门(4008)
5. 在 .NET 2.0 中享受 .NET 3.0的特性(3473)
评论排行榜
1. 压缩空气动力自行车(202)
2. 从LinQ看我们的ORM设计(27)
3. 差点买养老保险了!!保险和存款你算过吗?你一定要看的(19)
4. 我们为什么使用ORM?(16)
5. 在 .NET 2.0 中享受 .NET 3.0的特性(15)