<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>守望轩 &#187; 细节</title>
	<atom:link href="http://www.watch-life.net/tag/%e7%bb%86%e8%8a%82/feed" rel="self" type="application/rss+xml" />
	<link>http://www.watch-life.net</link>
	<description>关注IT,审视自我,守望生活, 宁静雅致的小轩馆.</description>
	<lastBuildDate>Tue, 20 Jul 2010 00:46:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>求职与做人</title>
		<link>http://www.watch-life.net/life-thinking/work-and-life.html</link>
		<comments>http://www.watch-life.net/life-thinking/work-and-life.html#comments</comments>
		<pubDate>Thu, 30 Oct 2008 15:28:30 +0000</pubDate>
		<dc:creator>xjb</dc:creator>
				<category><![CDATA[随思偶得]]></category>
		<category><![CDATA[做人]]></category>
		<category><![CDATA[心态]]></category>
		<category><![CDATA[求职]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[细节]]></category>
		<category><![CDATA[职业规划]]></category>

		<guid isPermaLink="false">http://www.watch-life.net/?p=239</guid>
		<description><![CDATA[昨天在csdn的论坛上看见这样一篇帖子：《失业七个月，面试六十家公司的深圳体验》，帖子很长，我花了点时间看完，你可以当它是份求职宝典，但我的感慨是：与其说这是一段求职经历，不如说是一段人生历练。与其说作者在总结自己的求职失败原因，不如说是在检讨自己的生活。求职，也体现一个人做人做事的态度，正所谓：世事洞明皆学问，人情练达即文章。我把帖子一些让人深思的感触整理了如下：
http://www.watch-life.net/life-thinking/work-and-life.html 
1、成败在细节
原文：面试的时候一定要保持警惕，对任何细节都要预感到，不要像我那样，人家一直都是对我形象不满意，我还不知道。&#8230;注意细节，我的简历简单却没有一个错误，包括标点符号。 
评论：细节对生活是很重要的，当你忽略细节的时候，表明你不够认真，不够专注。
2、没有什么比信心更重要的了
原文：失败原因：
　　1.不够自信，压力面试的时候容易放弃，而且如果出错了就很容易紧张；
　　2.没有认真研究招聘要求，而且不知道的知识也没有临时去补一下。
　　3.不够果断。
评论：缺乏信心不单是求职的大忌，更是为人处事的大忌。你对没有信心的时候，如何让别人对你有信心。 
3、不卑不亢，果敢坚毅
原文：你要知道，我们不是在乞求一份工作，我们是提供我们的聪明才智与辛苦劳动去获得相应的报酬，事实上，是我们在养活公司，而不是公司养活我们&#8230;我们是与公司合作，是帮公司赚钱，而不是乞讨！！！ 
评论：乞求不能带来好的工作，也不能带来美好的生活，只会让你自贬身价，失去做人的尊严。
4、诚实果断
原文：面试的时候，最好尽量直接回答，切中要害，不要绕弯子。
评论：过于委婉，让人觉得虚伪，想太多，绕太多的弯子，反而让人觉得不坦诚，不帅真。
5、不要被表面的虚假迷惑你的心
原文：常年在网站招聘，招聘岗位众多，招聘启示工作职责不明，面试流程与淘汰理由不大合理的公司，一般都有虚假招聘广告的嫌疑
评论：当一个事被描绘的天花乱坠的时候，你就要警惕了，为什么我会如此幸运？天下有白吃的午餐么？
6、心态平和，不病急乱投医
原文：面试的时候，心态一定要平和。
　　平和的意思是不恃才傲物，但也决不做弱势群体。
　　如果面试人员对你不尊重，让你不舒服了，请直接说出来。
评论：心态决定你的行动，平和的形态让你正确的抉择和行动
7、我们需要职业规划，人生需要规划
原文：依然是个职业生涯规划的问题。
　　　　 同样请你认真思考这三个问题：
　　　　 1.你的性格适合从事什么工作；适合才好事半功倍嘛。
　　　　　　2.你的兴趣点在哪里？喜欢才有热情和动力。
　　　　　　3.你的专业，工作经验和能力水平又适合做哪些行业？实际能够做才有可行性。
　　
　　尽可能寻找三者的结合点，你就可以朝这个方向努力了。
　　毕竟职业是一辈子的事情，所以，在现实的情况下，选择适合你兴趣和发展的公司。 
评论：如何好好规划自己的生活，工作，是我们必须面的问题，如果你不选择生活，那就只能被生活被动选择了。
8、乐观心境，健康身体
原文：不管找工作多失意，不管面试失败多少次，不管心情如何低落，都要多保重好身体。
　　不要太省了，一日三餐要记得吃；
　　不要太累了，每天要记得睡个好觉；
　　不要太逼自己了，许多时候不是我们不行，是时候真的不对；
　　不要太苦自己了，如果实在撑不下去了，想哭，就哭出来吧。
评论：人生总会有这样或那样的不如意，甚至悲伤，别气馁，别被打到，要乐观，相信一切问题只要努力会有解决或缓解的方法。特别是在不如意的时候，不能不注意健康，没了健康，好生活何处而来？
9、尊重别人，就是尊重自己
原文：请始终尊重每一个人，也许不经意间他们都会是你的贵人。
评论：尊重，是做人的根本，当你不尊重别人的时候，也就是失去了被别人尊重的价值。
10、自助者，天助
原文：呵呵，再告诉你，你的房子1800可比我当初失业住的房子贵了三倍啊，我有两个月就是在蟑螂满地跑/外面二十四小时超翻了天的房子里住着的。
　　可我每天依然还是得出去找工作，而且还得穿得很整齐，西装领带衬衫，都烫得笔直，鞋子擦得很亮，一尘不染的。
　　我知道，生活完全是我自己的，我自己不出让自己的生活整齐点，自信点，是没有任何人可以让我的生活变得整齐和自信的。
　　真的，没有任何人可以帮到你，除了你自己！！！
评论：我的人生，只能我自己来承担和负责，别依赖任何人，依赖会让你失去自我。除了你自己，没人可以帮到你。


	你可能也会喜欢以下文章：
	
	c#细节&#8211;Property和Attribute迷局 (1)
	我的梦魇 (2)
	灾难发生，我不在现场 (1)
	生活总在别处 (2)
	削发明志? (4)
	如果生活出了错，我可以调试么？ (0)
	c#的细节(一)-问号的细节 (0)
	c#的细节(二)-修饰符 (0)


转载请注明作者，出处，以及原始超链接。评论数：6 &#124; 评论这篇文章&#124;关注作者最近动态,欢迎 follow me xjb@twitter.com&#124;联络作者：iamxjb@gmail.com© 2010 守望轩 www.watch-life.net]]></description>
			<content:encoded><![CDATA[<p>昨天在<a href="http://www.csdn.net" target="_blank">csdn</a>的论坛上看见这样一篇帖子：《<a href="http://topic.csdn.net/u/20081014/15/c69dd6c0-c0da-4ecf-a2c2-f0fa458bbc2a.html" target="_blank"><strong>失业七个月，面试六十家公司的深圳体验</strong></a>》，帖子很长，我花了点时间看完，你可以当它是份求职宝典，但我的感慨是：与其说这是一段求职经历，不如说是一段人生历练。与其说作者在总结自己的求职失败原因，不如说是在检讨自己的<a href="http://www.watch-life.net/tag/%E7%94%9F%E6%B4%BB" rel="tag" target="_blank">生活</a>。<a href="http://www.watch-life.net/life-thinking/work-and-life.html" target="_blank">求职</a>，也体现一个人做人做事的态度，正所谓：<strong>世事洞明皆学问，人情练达即文章</strong>。我把帖子一些让人深思的感触整理了如下：<br />
<a href="http://www.watch-life.net/life-thinking/work-and-life.html " target="_blank">http://www.watch-life.net/life-thinking/work-and-life.html </a></p>
<h2>1、成败在细节</h2>
<blockquote><p>原文：面试的时候一定要保持警惕，对任何细节都要预感到，不要像我那样，人家一直都是对我形象不满意，我还不知道。&#8230;注意细节，我的简历简单却没有一个错误，包括标点符号。 </p></blockquote>
<p><font color="blue">评论：<a href="http://www.watch-life.net/tag/%E7%BB%86%E8%8A%82" rel="tag" target="_blank">细节</a>对生活是很重要的，当你忽略细节的时候，表明你不够认真，不够专注。</font></p>
<h2>2、没有什么比信心更重要的了</h2>
<blockquote><p>原文：失败原因：<br />
　　1.不够自信，压力面试的时候容易放弃，而且如果出错了就很容易紧张；<br />
　　2.没有认真研究招聘要求，而且不知道的知识也没有临时去补一下。<br />
　　3.不够果断。</p></blockquote>
<p><font color="blue">评论：缺乏信心不单是求职的大忌，更是为人处事的大忌。你对没有信心的时候，如何让别人对你有信心。</font> </p>
<h2>3、不卑不亢，果敢坚毅</h2>
<blockquote><p>原文：你要知道，我们不是在乞求一份工作，我们是提供我们的聪明才智与辛苦劳动去获得相应的报酬，事实上，是我们在养活公司，而不是公司养活我们&#8230;我们是与公司合作，是帮公司赚钱，而不是乞讨！！！ </p></blockquote>
<p><font color="blue">评论：乞求不能带来好的工作，也不能带来美好的生活，只会让你自贬身价，失去做人的尊严。</font></p>
<h2>4、诚实果断</h2>
<blockquote><p>原文：面试的时候，最好尽量直接回答，切中要害，不要绕弯子。</p></blockquote>
<p><font color="blue">评论：过于委婉，让人觉得虚伪，想太多，绕太多的弯子，反而让人觉得不坦诚，不帅真。</font></p>
<h2>5、不要被表面的虚假迷惑你的心</h2>
<blockquote><p>原文：常年在网站招聘，招聘岗位众多，招聘启示工作职责不明，面试流程与淘汰理由不大合理的公司，一般都有虚假招聘广告的嫌疑</p></blockquote>
<p><font color="blue">评论：当一个事被描绘的天花乱坠的时候，你就要警惕了，为什么我会如此幸运？天下有白吃的午餐么？</font></p>
<h2>6、心态平和，不病急乱投医</h2>
<blockquote><p>原文：面试的时候，心态一定要平和。<br />
　　平和的意思是不恃才傲物，但也决不做弱势群体。<br />
　　如果面试人员对你不尊重，让你不舒服了，请直接说出来。</p></blockquote>
<p><font color="blue">评论：<a href="http://www.watch-life.net/tag/%E5%BF%83%E6%80%81" rel="tag" target="_blank">心态</a>决定你的行动，平和的形态让你正确的抉择和行动</font></p>
<h2>7、我们需要<a href="http://www.watch-life.net/tag/%E8%81%8C%E4%B8%9A%E8%A7%84%E5%88%92" rel="tag" target="_blank">职业规划</a>，人生需要规划</h2>
<blockquote><p>原文：依然是个职业生涯规划的问题。<br />
　　　　 同样请你认真思考这三个问题：<br />
　　　　 1.你的性格适合从事什么工作；适合才好事半功倍嘛。<br />
　　　　　　2.你的兴趣点在哪里？喜欢才有热情和动力。<br />
　　　　　　3.你的专业，工作经验和能力水平又适合做哪些行业？实际能够做才有可行性。<br />
　　<br />
　　尽可能寻找三者的结合点，你就可以朝这个方向努力了。<br />
　　毕竟职业是一辈子的事情，所以，在现实的情况下，选择适合你兴趣和发展的公司。 </p></blockquote>
<p><font color="blue">评论：如何好好规划自己的生活，工作，是我们必须面的问题，如果你不选择生活，那就只能被生活被动选择了。</font></p>
<h2>8、乐观心境，健康身体</h2>
<blockquote><p>原文：不管找工作多失意，不管面试失败多少次，不管心情如何低落，都要多保重好身体。<br />
　　不要太省了，一日三餐要记得吃；<br />
　　不要太累了，每天要记得睡个好觉；<br />
　　不要太逼自己了，许多时候不是我们不行，是时候真的不对；<br />
　　不要太苦自己了，如果实在撑不下去了，想哭，就哭出来吧。</p></blockquote>
<p><font color="blue">评论：人生总会有这样或那样的不如意，甚至悲伤，别气馁，别被打到，要乐观，相信一切问题只要努力会有解决或缓解的方法。特别是在不如意的时候，不能不注意健康，没了健康，好生活何处而来？</font></p>
<h2>9、尊重别人，就是尊重自己</h2>
<blockquote><p>原文：请始终尊重每一个人，也许不经意间他们都会是你的贵人。</p></blockquote>
<p><font color="blue">评论：尊重，是做人的根本，当你不尊重别人的时候，也就是失去了被别人尊重的价值。</font></p>
<h2>10、自助者，天助</h2>
<blockquote><p>原文：呵呵，再告诉你，你的房子1800可比我当初失业住的房子贵了三倍啊，我有两个月就是在蟑螂满地跑/外面二十四小时超翻了天的房子里住着的。<br />
　　可我每天依然还是得出去找工作，而且还得穿得很整齐，西装领带衬衫，都烫得笔直，鞋子擦得很亮，一尘不染的。<br />
　　我知道，生活完全是我自己的，我自己不出让自己的生活整齐点，自信点，是没有任何人可以让我的生活变得整齐和自信的。<br />
　　真的，没有任何人可以帮到你，除了你自己！！！</p></blockquote>
<p><font color="blue">评论：我的人生，只能我自己来承担和负责，别依赖任何人，依赖会让你失去自我。除了你自己，没人可以帮到你。</font></p>
<p class="akst_link">
</p>
	<h4>你可能也会喜欢以下文章：</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-property-attribute.html" title="c#细节&#8211;Property和Attribute迷局 (2008-07-17)">c#细节&#8211;Property和Attribute迷局</a> (1)</li>
	<li><a href="http://www.watch-life.net/life-thinking/my-nightmare.html" title="我的梦魇 (2008-09-19)">我的梦魇</a> (2)</li>
	<li><a href="http://www.watch-life.net/life-thinking/love-life-every-day.html" title="灾难发生，我不在现场 (2008-05-30)">灾难发生，我不在现场</a> (1)</li>
	<li><a href="http://www.watch-life.net/life-thinking/life-elsewhere.html" title="生活总在别处 (2009-07-06)">生活总在别处</a> (2)</li>
	<li><a href="http://www.watch-life.net/life-thinking/new-start-point.html" title="削发明志? (2009-07-07)">削发明志?</a> (4)</li>
	<li><a href="http://www.watch-life.net/life-thinking/debug-life.html" title="如果生活出了错，我可以调试么？ (2008-03-06)">如果生活出了错，我可以调试么？</a> (0)</li>
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-question-marks.html" title="c#的细节(一)-问号的细节 (2008-07-03)">c#的细节(一)-问号的细节</a> (0)</li>
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-modifiers.html" title="c#的细节(二)-修饰符 (2008-07-06)">c#的细节(二)-修饰符</a> (0)</li>
</ul>

转载请注明作者，出处，以及原始超链接。<br />评论数：6 | <b><a href='http://www.watch-life.net/life-thinking/work-and-life.html#comment'>评论这篇文章</a></b>|关注作者最近动态,欢迎 follow me <a href='https://twitter.com/xjb' target='_blank'>xjb@twitter.com</a>|联络作者：iamxjb@gmail.com<br/>© 2010 守望轩 <a href='http://www.watch-life.net/life-thinking/work-and-life.html'>www.watch-life.net</a>]]></content:encoded>
			<wfw:commentRss>http://www.watch-life.net/life-thinking/work-and-life.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>c#细节&#8211;Property和Attribute迷局</title>
		<link>http://www.watch-life.net/csharp/csharp-detail-property-attribute.html</link>
		<comments>http://www.watch-life.net/csharp/csharp-detail-property-attribute.html#comments</comments>
		<pubDate>Thu, 17 Jul 2008 15:10:45 +0000</pubDate>
		<dc:creator>xjb</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[Attribute]]></category>
		<category><![CDATA[Property]]></category>
		<category><![CDATA[细节]]></category>

		<guid isPermaLink="false">http://www.watch-life.net/?p=155</guid>
		<description><![CDATA[《c#的细节》是我当初学习c#时候，做的一些学习笔记的整理，现在回头看来这些都是非常浅显的知识，是c#非常细节的地方，同时也是不能忽略的地方，”细节决定成败“，也许有些严重。我希望把这些整理出来，可以给初学者一个参考,也给自己一个温故知新的机会。高手就不必花时间来看了。;-)
——————————————————————————&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;
C#中Property和Attribute本是两个非常好区分的概念，但翻译过来都叫“属性”，似乎让人迷惑。造成Property和Attribute迷局的原因有两个：
1、不知道是中文翻译词汇的贫乏，还是英文词汇的贫乏，导致两者的混淆。于是有人建议把Attribute翻译成“特性”。这虽然在称呼上把两者区分开来，但并不能从本质上揭开迷局。
2、在c#中引入了所谓“字段”（Field），把OOA/OOD中的Attribute给替换了，而同时有引入了自己的“Attribute”。
看看下面的表格，你也许就了解 ，在c#中所谓“字段”的渊源了。




OOA/OOD


C++


.NET(C#)




Attribute


Member Variable


Field




Method


Member Function


Method




 
原来“field”就是原来c++中的“Member Variable” ，也就是OOA/OOD中的“Attribute”，按OOA/OOD的规定理所当然“field”是只能用private限定了。
下面来说说c#的“Property”，先看看下面的代码

public class cName
{
// C#中Field（字段），C++中Member Variable，OOA/OOD中Attribute（属性）
private string m_Field;
public string Prop { // C#中称为Property（属性）
get
{
return m_Field;
}
set
{
name = m_Field;
}
}
}
 
通过上面可以知道“Property”其实本质就是一个一对get/set方法（用public来限定），因此它就相当于c++的Member Function或者OOA/OOD中的Method，一个比较特殊一点的方法。
而c#中的“Attribute”则完全和OOA/OOD中的“Attribute” 完全不一样了，而是c#（net）全新引入的一个概念。
msdn官方的解释如下：
公共语言运行时允许你添加类似关键字的描述声明，叫做attributes, 它对程序中的元素进行标注，如类型、字段、方法和属性等。Attributes和Microsoft .NET Framework文件的元数据保存在一起，可以用来向运行时描述你的代码，或者在程序运行的时候影响应用程序的行为。
说的通俗些Attribute是类,不过是一类比较特殊的类，Attribute必须写在一对方括符中，用来处理net中多种问题：序列化、程序的安全特征等等，在net中的作用非同凡响。那么关于Attribute的用法，不再是本文条论范围了，你可以看看dudu写的一个系列文章,链接如下http://www.cnblogs.com/dudu/articles/4449.html
本文地址：http://www.watch-life.net/csharp/csharp-detail-property-attribute.html


	你可能也会喜欢以下文章：
	
	c#细节(三)-AS和IS (0)
	html页面表格导出到excel总结 (3)
	web developer tips (26):在 App_Code目录下同时放c#和VB.NET文件 (0)
	求职与做人 (6)
	web developer tips (66):输入属性时自动插入引号 (0)
	Sqlite数据库的加密 (0)
	c#的细节(一)-问号的细节 (0)
	温故知新的经典&#8211;书评《Programming C# 》中文版第4版 (1)


转载请注明作者，出处，以及原始超链接。评论数：1 &#124; 评论这篇文章&#124;关注作者最近动态,欢迎 follow me xjb@twitter.com&#124;联络作者：iamxjb@gmail.com© 2010 守望轩 www.watch-life.net]]></description>
			<content:encoded><![CDATA[<p><span style="color: #3366ff;">《c#的细节》是我当初学习c#时候，做的一些学习笔记的整理，现在回头看来这些都是非常浅显的知识，是c#非常细节的地方，同时也是不能忽略的地方，”细节决定成败“，也许有些严重。我希望把这些整理出来，可以给初学者一个参考,也给自己一个温故知新的机会。高手就不必花时间来看了。;-)</span></p>
<p>——————————————————————————&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>C#中Property和Attribute本是两个非常好区分的概念，但翻译过来都叫“属性”，似乎让人迷惑。造成Property和Attribute迷局的原因有两个：<br />
1、不知道是中文翻译词汇的贫乏，还是英文词汇的贫乏，导致两者的混淆。于是有人建议把Attribute翻译成“特性”。这虽然在称呼上把两者区分开来，但并不能从本质上揭开<a href="http://www.watch-life.net/csharp/csharp-detail-property-attribute.html">迷局</a>。<br />
2、在c#中引入了所谓“字段”（Field），把OOA/OOD中的Attribute给替换了，而同时有引入了自己的“Attribute”。</p>
<p>看看下面的表格，你也许就了解 ，在c#中所谓“字段”的渊源了。</p>
<table style="border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; border-left-color: #ebedec; padding-bottom: 0cm; width: 106.5pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent;" width="142" valign="top">
<p style="margin: 0cm 0cm 0pt; text-align: center;" align="center">OOA/OOD</p>
</td>
<td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; border-left-color: #ebedec; padding-bottom: 0cm; width: 106.55pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent;" width="142" valign="top">
<p style="margin: 0cm 0cm 0pt; text-align: center;" align="center">C++</p>
</td>
<td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; border-left-color: #ebedec; padding-bottom: 0cm; width: 106.55pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent;" width="142" valign="top">
<p style="margin: 0cm 0cm 0pt; text-align: center;" align="center">.NET(C#)</p>
</td>
</tr>
<tr>
<td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ebedec; padding-bottom: 0cm; width: 106.5pt; border-top-color: #ebedec; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent;" width="142" valign="top">
<p style="margin: 0cm 0cm 0pt; text-align: center;" align="center"><span style="color: #ff0000;">Attribute</span></p>
</td>
<td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ebedec; padding-bottom: 0cm; width: 106.55pt; border-top-color: #ebedec; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent;" width="142" valign="top">
<p style="margin: 0cm 0cm 0pt; text-align: center;" align="center"><span style="color: #ff0000;">Member Variable</span></p>
</td>
<td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ebedec; padding-bottom: 0cm; width: 106.55pt; border-top-color: #ebedec; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent;" width="142" valign="top">
<p style="margin: 0cm 0cm 0pt; text-align: center;" align="center"><span style="color: #ff0000;">Field</span></p>
</td>
</tr>
<tr>
<td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ebedec; padding-bottom: 0cm; width: 106.5pt; border-top-color: #ebedec; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent;" width="142" valign="top">
<p style="margin: 0cm 0cm 0pt; text-align: center;" align="center">Method</p>
</td>
<td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ebedec; padding-bottom: 0cm; width: 106.55pt; border-top-color: #ebedec; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent;" width="142" valign="top">
<p style="margin: 0cm 0cm 0pt; text-align: center;" align="center">Member Function</p>
</td>
<td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ebedec; padding-bottom: 0cm; width: 106.55pt; border-top-color: #ebedec; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent;" width="142" valign="top">
<p style="margin: 0cm 0cm 0pt; text-align: center;" align="center">Method</p>
</td>
</tr>
</tbody>
</table>
<div> </div>
<div>原来“field”就是原来c++中的“Member Variable” ，也就是OOA/OOD中的“Attribute”，按OOA/OOD的规定理所当然“field”是只能用<span style="color: #0000ff;">private<span style="color: #000000;">限定了。</span></span></div>
<div><span style="color: #0000ff;"><span style="color: #000000;">下面来说说c#的“Property”，先看看下面的代码</span></span></div>
<div class="code">
<p>public class cName<br />
{<br />
// C#中Field（字段），C++中Member Variable，OOA/OOD中Attribute（属性）<br />
private string m_Field;<br />
public string Prop { // C#中称为Property（属性）<br />
get<br />
{<br />
return m_Field;<br />
}<br />
set<br />
{<br />
name = m_Field;<br />
}</p>
<p>}<br />
}<br />
 </p></div>
<p>通过上面可以知道“Property”其实本质就是一个一对get/set方法（用public来限定），因此它就相当于c++的<span>Member Function或者OOA/OOD中的Method，一个比较特殊一点的方法。</span></p>
<p><span>而c#中的“<span style="color: #ff0000;">Attribute</span>”则完全和OOA/OOD中的“<span style="color: #0000ff;">Attribute</span>” 完全不一样了，而是c#（net）全新引入的一个概念。</span><br />
msdn官方的解释如下：</p>
<blockquote><p>公共语言运行时允许你添加类似关键字的描述声明，叫做attributes, 它对程序中的元素进行标注，如类型、字段、方法和属性等。Attributes和Microsoft .NET Framework文件的元数据保存在一起，可以用来向运行时描述你的代码，或者在程序运行的时候影响应用程序的行为。</p></blockquote>
<p>说的通俗些Attribute是类,不过是一类比较特殊的类，Attribute必须写在一对方括符中，用来处理net中多种问题：序列化、程序的安全特征等等，在net中的作用非同凡响。那么关于Attribute的用法，不再是本文条论范围了，你可以看看<a href="http://www.cnblogs.com/dudu" target="_blank">dudu</a>写的一个系列文章,链接如下<a href="http://www.cnblogs.com/dudu/articles/4449.html" target="_blank">http://www.cnblogs.com/dudu/articles/4449.html</a></p>
<p>本文地址：h<a href="http://www.watch-life.net/csharp/csharp-detail-property-attribute.html">ttp://www.watch-life.net/csharp/csharp-detail-property-attribute.html</a></p>
<p class="akst_link">
</p>
	<h4>你可能也会喜欢以下文章：</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html" title="c#细节(三)-AS和IS (2008-07-07)">c#细节(三)-AS和IS</a> (0)</li>
	<li><a href="http://www.watch-life.net/programming-notes/html-table-2-excel.html" title="html页面表格导出到excel总结 (2008-06-23)">html页面表格导出到excel总结</a> (3)</li>
	<li><a href="http://www.watch-life.net/visual-studio/have-c-and-vb-net-files-inside-your-app-code-directory.html" title="web developer tips (26):在 App_Code目录下同时放c#和VB.NET文件 (2009-07-19)">web developer tips (26):在 App_Code目录下同时放c#和VB.NET文件</a> (0)</li>
	<li><a href="http://www.watch-life.net/life-thinking/work-and-life.html" title="求职与做人 (2008-10-30)">求职与做人</a> (6)</li>
	<li><a href="http://www.watch-life.net/visual-studio/insert-quotes-values-automatically-while-typing-the-attrib-values.html" title="web developer tips (66):输入属性时自动插入引号 (2009-11-19)">web developer tips (66):输入属性时自动插入引号</a> (0)</li>
	<li><a href="http://www.watch-life.net/net-tip/sqlite-encrypted.html" title="Sqlite数据库的加密 (2008-07-25)">Sqlite数据库的加密</a> (0)</li>
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-question-marks.html" title="c#的细节(一)-问号的细节 (2008-07-03)">c#的细节(一)-问号的细节</a> (0)</li>
	<li><a href="http://www.watch-life.net/technology-book-review/programming-csharp-bookreview.html" title="温故知新的经典&#8211;书评《Programming C# 》中文版第4版 (2007-10-30)">温故知新的经典&#8211;书评《Programming C# 》中文版第4版</a> (1)</li>
</ul>

转载请注明作者，出处，以及原始超链接。<br />评论数：1 | <b><a href='http://www.watch-life.net/csharp/csharp-detail-property-attribute.html#comment'>评论这篇文章</a></b>|关注作者最近动态,欢迎 follow me <a href='https://twitter.com/xjb' target='_blank'>xjb@twitter.com</a>|联络作者：iamxjb@gmail.com<br/>© 2010 守望轩 <a href='http://www.watch-life.net/csharp/csharp-detail-property-attribute.html'>www.watch-life.net</a>]]></content:encoded>
			<wfw:commentRss>http://www.watch-life.net/csharp/csharp-detail-property-attribute.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>c#细节(三)-AS和IS</title>
		<link>http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html</link>
		<comments>http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html#comments</comments>
		<pubDate>Mon, 07 Jul 2008 09:26:54 +0000</pubDate>
		<dc:creator>xjb</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[AS]]></category>
		<category><![CDATA[IS]]></category>
		<category><![CDATA[操作符]]></category>
		<category><![CDATA[细节]]></category>

		<guid isPermaLink="false">http://www.watch-life.net/?p=150</guid>
		<description><![CDATA[《c#的细节》是我当初学习c#时候，做的一些学习笔记的整理，现在回头看来这些都是非常浅显的知识，是c#非常细节的地方，同时也是不能忽略的地方，”细节决定成败“，也许有些严重。我希望把这些整理出来，可以给初学者一个参考,也给自己一个温故知新的机会。高手就不必花时间来看了。;-)
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
在c#中类型的转换分两种：显式和隐式，基本的规则如下：
1、基类对象转化为子类对象，必须显式转换，规则：(类型名) 对象。
2、值类型和引用类型的转换采用装箱(boxing)或拆箱(unboxing).
3、子类转化为基类对象。
4、基本类型互相之间转化可以用Covent类来实现。
5、字符串类型转换为对应的基本类型用Parse方法，除了String类型外其他的类型都可以用Parse方法。
6、用GetType可以取得对象的精确类型。
7、子类转化为基类，采用隐式转换。
下面来说说AS和IS操作符。
AS：用于在兼容的引用类型之间执行转换。
IS：检查对象是否与给定类型兼容
从概念来分析：
1、AS在转换的同事兼判断兼容性，如果无法进行转换，则 as 返回 null（没有产生新的对象）而不是引发异常。有了AS我想以后就不要再用try-catch来做类型转换的判断了。因此as转换成功要判断是否为null。
2、AS是引用类型类型的转换或者装箱转换，不能用与值类型的转换。如果是值类型只能结合is来强制转换，代码如下：
object objTest = 11;    

if( objTest is int )
	
    {
        &#160;&#160;&#160; int nValue = (int )objTest;

    }

3、IS只是做类型兼容判断，并不执行真正的类型转换。返回true或false，不会返回null，对象为null也会返回false。
4、AS模式的效率要比IS模式的高，因为借助IS进行类型转换的化，需要执行两次类型兼容检查。而AS只需要做一次类型兼容，一次null检查，null检查要比类型兼容检查快。
本文地址：http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html


	你可能也会喜欢以下文章：
	
	Sqlite数据库的加密 (0)
	c#细节&#8211;Property和Attribute迷局 (1)
	c#的细节(一)-问号的细节 (0)
	温故知新的经典&#8211;书评《Programming C# 》中文版第4版 (1)
	WebResponse 跨域访问 (1)
	web developer tips (26):在 App_Code目录下同时放c#和VB.NET文件 (0)
	html页面表格导出到excel总结 (3)
	求职与做人 (6)


转载请注明作者，出处，以及原始超链接。评论数：0 &#124; 评论这篇文章&#124;关注作者最近动态,欢迎 follow [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #0000ff;">《c#的细节》是我当初学习c#时候，做的一些学习笔记的整理，现在回头看来这些都是非常浅显的知识，是c#非常细节的地方，同时也是不能忽略的地方，”细节决定成败“，也许有些严重。我希望把这些整理出来，可以给初学者一个参考,也给自己一个温故知新的机会。高手就不必花时间来看了。;-)</span></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
在<a href="http://www.watch-life.net/category/csharp" target="_blank">c#</a>中类型的转换分两种：显式和隐式，基本的规则如下：<br />
1、基类对象转化为子类对象，必须显式转换，规则：(类型名) 对象。<br />
2、值类型和引用类型的转换采用装箱(boxing)或拆箱(unboxing).<br />
3、子类转化为基类对象。<br />
4、基本类型互相之间转化可以用Covent类来实现。<br />
5、字符串类型转换为对应的基本类型用Parse方法，除了String类型外其他的类型都可以用Parse方法。<br />
6、用GetType可以取得对象的精确类型。<br />
7、子类转化为基类，采用隐式转换。</p>
<p>下面来说说<a href="http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html">AS和IS操作符</a>。<br />
AS：用于在兼容的引用类型之间执行转换。<br />
IS：检查对象是否与给定类型兼容</p>
<p>从概念来分析：<br />
1、AS在转换的同事兼判断兼容性，如果无法进行转换，则 as 返回 null（没有产生新的对象）而不是引发异常。有了AS我想以后就不要再用try-catch来做类型转换的判断了。因此as转换成功要判断是否为null。<br />
2、AS是引用类型类型的转换或者装箱转换，不能用与值类型的转换。如果是值类型只能结合is来强制转换，代码如下：</p>
<div class="code"><span style="color: #0000ff;">object</span><span style="color: #000000;"> objTest </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">11</span><span style="color: #000000;">;    </span></p>
<p>
<span style="color: #000000;"><span style="color: #0000ff;">if</span><span style="color: #000000;">( objTest </span><span style="color: #0000ff;">is</span><span style="color: #000000;"> </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> )</span></span>
	</p>
<p><span style="color: #000000;">    {</span><br />
<span style="color: #000000;">        <span style="color: #0000ff;">&nbsp;&nbsp;&nbsp; int</span><span style="color: #000000;"> nValue </span><span style="color: #000000;">=</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> )objTest;</span></span></p>
<p>
<span style="color: #000000;"><span style="color: #000000;">    }<br />
</span></div>
<p>3、IS只是做类型兼容判断，并不执行真正的类型转换。返回true或false，不会返回null，对象为null也会返回false。<br />
4、AS模式的效率要比IS模式的高，因为借助IS进行类型转换的化，需要执行两次类型兼容检查。而AS只需要做一次类型兼容，一次null检查，null检查要比类型兼容检查快。</p>
<p>本文地址：<a href="http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html">http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html</a></p>
<p class="akst_link">
</p>
	<h4>你可能也会喜欢以下文章：</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.watch-life.net/net-tip/sqlite-encrypted.html" title="Sqlite数据库的加密 (2008-07-25)">Sqlite数据库的加密</a> (0)</li>
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-property-attribute.html" title="c#细节&#8211;Property和Attribute迷局 (2008-07-17)">c#细节&#8211;Property和Attribute迷局</a> (1)</li>
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-question-marks.html" title="c#的细节(一)-问号的细节 (2008-07-03)">c#的细节(一)-问号的细节</a> (0)</li>
	<li><a href="http://www.watch-life.net/technology-book-review/programming-csharp-bookreview.html" title="温故知新的经典&#8211;书评《Programming C# 》中文版第4版 (2007-10-30)">温故知新的经典&#8211;书评《Programming C# 》中文版第4版</a> (1)</li>
	<li><a href="http://www.watch-life.net/aspnet/webresponse-cross-site-visit.html" title="WebResponse 跨域访问 (2008-07-07)">WebResponse 跨域访问</a> (1)</li>
	<li><a href="http://www.watch-life.net/visual-studio/have-c-and-vb-net-files-inside-your-app-code-directory.html" title="web developer tips (26):在 App_Code目录下同时放c#和VB.NET文件 (2009-07-19)">web developer tips (26):在 App_Code目录下同时放c#和VB.NET文件</a> (0)</li>
	<li><a href="http://www.watch-life.net/programming-notes/html-table-2-excel.html" title="html页面表格导出到excel总结 (2008-06-23)">html页面表格导出到excel总结</a> (3)</li>
	<li><a href="http://www.watch-life.net/life-thinking/work-and-life.html" title="求职与做人 (2008-10-30)">求职与做人</a> (6)</li>
</ul>

转载请注明作者，出处，以及原始超链接。<br />评论数：0 | <b><a href='http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html#comment'>评论这篇文章</a></b>|关注作者最近动态,欢迎 follow me <a href='https://twitter.com/xjb' target='_blank'>xjb@twitter.com</a>|联络作者：iamxjb@gmail.com<br/>© 2010 守望轩 <a href='http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html'>www.watch-life.net</a>]]></content:encoded>
			<wfw:commentRss>http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>c#的细节(二)-修饰符</title>
		<link>http://www.watch-life.net/csharp/csharp-detail-modifiers.html</link>
		<comments>http://www.watch-life.net/csharp/csharp-detail-modifiers.html#comments</comments>
		<pubDate>Sat, 05 Jul 2008 16:44:12 +0000</pubDate>
		<dc:creator>xjb</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[修饰符]]></category>
		<category><![CDATA[细节]]></category>

		<guid isPermaLink="false">http://www.watch-life.net/?p=148</guid>
		<description><![CDATA[写在最前面的话：

《c#的细节》是我当初学习c#时候，做的一些学习笔记的整理，现在回头看来这些都是非常浅显的知识，是c#非常细节的地方，同时也是不能忽略的地方，”细节决定成败“，也许有些严重。我希望把这些整理出来，可以给初学者一个参考,也给自己一个温故知新的机会。高手就不必花时间来看了。;-)
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
在c#的中修饰符的概念，最让初学者有些头痛了，理解起来也不是想象中那么简单，关键是不要搞乱了。
c#的修饰符大概分3类：
1、访问型修饰符，就是控制所修饰成员的可访问域，包括：public、private、protected、internal 和protected internal。其中只能protected internal 组合，其他都不能。
public：访问不受限制。
private：访问仅限于包含类型。只有包含该成员的类可以存取.
protected：访问仅限于包含类或从包含类派生的类型。只有包含该成员的类以及继承的类可以存取.
Internal：访问仅限于当前程序集。只有当前项目（工程）可以存取.
protected internal：访问仅限于当前程序集或从包含类派生的类型。
上面的概念好像很绕口。不过在如果你对面向对象大致了解的话，理解这些概念并不难，需要明确两个东东：程序集和项目。这里不详细讨论程序集和项目（如果你想全面了解有关程序集，项目，命名空间等东东，可以去看看这里），你可以大致理解，一个项目可以是一个程序集。
public、private、proteced我觉得非常比较好理解，麻烦点就是Internal，只能在一个项目中使用，不能跨项目调用，只能自己的项目内使用，即使是子类也不能访问。

namespace space1
{
    internal class Class1
    {
        public int a
    }

    class Class2
    {
        public void b()
      [...]]]></description>
			<content:encoded><![CDATA[<p>写在最前面的话：<br />
<span style="color: #0000ff;"><br />
《c#的细节》是我当初学习c#时候，做的一些学习笔记的整理，现在回头看来这些都是非常浅显的知识，是c#非常细节的地方，同时也是不能忽略的地方，”细节决定成败“，也许有些严重。我希望把这些整理出来，可以给初学者一个参考,也给自己一个温故知新的机会。高手就不必花时间来看了。;-)</span><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
在c#的中<a href="http://www.watch-life.net/csharp/csharp-detail-modifiers.html">修饰符</a>的概念，最让初学者有些头痛了，理解起来也不是想象中那么简单，关键是不要搞乱了。</p>
<p>c#的修饰符大概分3类：</p>
<p>1、访问型修饰符，就是控制所修饰成员的可访问域，包括：public、private、protected、internal 和protected internal。其中只能protected internal 组合，其他都不能。</p>
<p>public：访问不受限制。<br />
private：访问仅限于包含类型。只有包含该成员的类可以存取.<br />
protected：访问仅限于包含类或从包含类派生的类型。只有包含该成员的类以及继承的类可以存取.<br />
Internal：访问仅限于当前程序集。只有当前项目（工程）可以存取.<br />
protected internal：访问仅限于当前程序集或从包含类派生的类型。</p>
<p>上面的概念好像很绕口。不过在如果你对面向对象大致了解的话，理解这些概念并不难，需要明确两个东东：程序集和项目。这里不详细讨论程序集和项目（如果你想全面了解有关程序集，项目，命名空间等东东，可以去看看<a href="http://www.cnblogs.com/wayfarer/archive/2006/04/07/369371.html">这里</a>），你可以大致理解，一个项目可以是一个程序集。</p>
<p>public、private、proteced我觉得非常比较好理解，麻烦点就是Internal，只能在一个项目中使用，不能跨项目调用，只能自己的项目内使用，即使是子类也不能访问。</p>
<blockquote>
<pre><span style="color: #0000ff;">namespace</span> space1
{
    <span style="color: #0000ff;">internal</span> <span style="color: #0000ff;">class</span> Class1
    {
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span> a
    }

    <span style="color: #0000ff;">class</span> Class2
    {
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span> b()
        {
            Class1 cc = <span style="color: #0000ff;">new</span> Class1();
        }

    }
}

<span style="color: #0000ff;">namespace</span> space2
{
    <span style="color: #0000ff;">class</span> App
    {
      <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> Main(<span style="color: #0000ff;">string</span>[] args)
        {
           space1.Class1 t_xA = <span style="color: #0000ff;">new</span> space1.Class1();//error</pre>
<pre>        }
   }
 }</pre>
</blockquote>
<p>以上的代码表明，Internal 是不能跨项目访问的。</p>
<p>对于protected internal 简单些理解，就是protected 和internal 的并集。protected就只能被子类内部所访问，于是它们的并集就是：同一个项目内或者子类内部可以访问。如果既不是同一程序集也不是子类，就无法访问。如下面的代码所示：</p>
<blockquote>
<pre><span style="color: #0000ff;">namespace</span> space3
{
    <span style="color: #0000ff;">public</span>  <span style="color: #0000ff;">class</span> Class1
    {
       <span style="color: #0000ff;">internal</span>  <span style="color: #0000ff;">protected</span> <span style="color: #0000ff;">int</span>  a;
        <span style="color: #0000ff;">internal</span> <span style="color: #0000ff;">int</span> b;
        <span style="color: #0000ff;">protected</span> <span style="color: #0000ff;">int</span> c;
    }

    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> <span style="color: #0000ff;">class</span>2
    {
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span>  bbb()
        {
            Class1 t_x1=<span style="color: #0000ff;">new</span> Class1();
	   t_x1.a <span style="color: #008000;">//ok</span>
	   t_x1.b <span style="color: #008000;">//ok</span>
            t_x1.b  <span style="color: #008000;">//error</span>

        }
    }

    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> <span style="color: #0000ff;">class</span>3:Class1
    {
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span> bbb()
        {
                 <span style="color: #0000ff;">base</span>.a...<span style="color: #008000;">//ok</span>
	        <span style="color: #0000ff;">base</span>.b...<span style="color: #008000;">//ok</span>
                 <span style="color: #0000ff;">base</span>.c ...<span style="color: #008000;">//ok</span>
        }
    }
}

<span style="color: #0000ff;">namespace</span> space4
{
    <span style="color: #0000ff;">class</span> Application1:space3.Class1
    {
      <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span>  a()
        {
            <span style="color: #0000ff;">base</span>.aa...
            <span style="color: #0000ff;">base</span>.cc...
        }
   }

    <span style="color: #0000ff;">class</span> bbb
    {
          <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span>  ccc()
        {
            space3..Class2 d = <span style="color: #0000ff;">new</span> space3.Class2();
            d.a.. <span style="color: #008000;">//error</span>
	   d.b...<span style="color: #008000;">//error</span>
            d.c... <span style="color: #008000;">//error</span>

        }

    }

 }</pre>
</blockquote>
<p>2、类修饰符：<br />
abstract:标识一个类只能作为其它类的基类.　　<br />
sealed:标识一个类不能被继承.<br />
partial ：局部类。将你的 class 分为多个部分，编译器会将多个部分拼合在一起。关于局部类部分你可以看看<a href="http://blog.csdn.net/SmartJavaer/archive/2006/10/12/1331151.aspx" target="_blank">这里</a></p>
<p>3、成员修饰符:<br />
　　<br />
　　abstract:指示该方法或属性没有实现.<br />
　　<br />
　　const:指定域或局部变量的值不能被改动.<br />
　　<br />
　　event:声明一个事件.<br />
　　<br />
　　extern:指示方法在外部实现.<br />
　　<br />
　　override:对由基类继承成员的新实现.<br />
　　<br />
　　readonly:指示一个域只能在声明时以及相同类的内部被赋值.<br />
　　<br />
　　static:指示一个成员属于类型本身,而不是属于特定的对象.<br />
　　<br />
　　virtual:指示一个方法或存取器的实现可以在继承类中被覆盖.</p>
<p>注意：1、命名空间不能使用访问修饰符。对命名空间没有访问是不受限制的，它的引入是主要是避免相同对象名的冲突。<br />
2、如果在成员声明中未指定访问修饰符，则使用默认的可访问性。</p>
<table id="table1" class="MsoNormalTable" style="width: 100%; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td style="border: 1pt solid #dddddd; padding: 3.75pt; background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%" valign="bottom">
<p class="MsoNormal" style="text-align: left; margin: 7.5pt 0cm" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">属于 </span></strong></p>
</td>
<td style="border-left: medium none #ece9d8; border-right: 1pt solid #dddddd; border-top: 1pt solid #dddddd; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%" valign="bottom">
<p class="MsoNormal" style="text-align: left; margin: 7.5pt 0cm" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">默认的成员可访问性 </span></strong></p>
</td>
<td style="border-left: medium none #ece9d8; border-right: 1pt solid #dddddd; border-top: 1pt solid #dddddd; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%" valign="bottom">
<p class="MsoNormal" style="text-align: left; margin: 7.5pt 0cm" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">该成员允许的声明的可访问性 </span><br />
</strong></p>
</td>
</tr>
<tr>
<td style="border-left: 1pt solid #dddddd; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">enum</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
</td>
<td style="border-left: medium none #ece9d8; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">public</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
</td>
<td style="border-left: medium none #ece9d8; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><span style="font-size: 8.5pt; font-family: 宋体;">无</span></p>
</td>
</tr>
<tr>
<td style="border-left: 1pt solid #dddddd; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">class</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
</td>
<td style="border-left: medium none #ece9d8; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">private</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
</td>
<td style="border-left: medium none #ece9d8; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">public</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
protected</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">internal</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">private</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
protected</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
<strong>internal</strong> </span></p>
</td>
</tr>
<tr>
<td style="border-left: 1pt solid #dddddd; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
interface</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
</td>
<td style="border-left: medium none #ece9d8; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">public</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
</td>
<td style="border-left: medium none #ece9d8; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><span style="font-size: 8.5pt; font-family: 宋体;">无</span></p>
</td>
</tr>
<tr>
<td style="border-left: 1pt solid #dddddd; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">struct</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
</td>
<td style="border-left: medium none #ece9d8; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">private</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
</td>
<td style="border-left: medium none #ece9d8; border-right: 1pt solid #dddddd; border-top: medium none #ece9d8; border-bottom: 1pt solid #dddddd; padding: 3.75pt; background: white" valign="top">
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">public</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">internal</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
<p class="MsoNormal" style="text-align: left; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: 0pt" align="left"><strong><span style="font-size: 8.5pt; font-family: 宋体;">private</span></strong><span style="font-size: 8.5pt; font-family: 宋体;"><br />
</span></p>
</td>
</tr>
</tbody>
</table>
<p>本文地址：<a href="http://www.watch-life.net/csharp/csharp-detail-modifiers.html">http://www.watch-life.net/csharp/csharp-detail-modifiers.html</a></p>
<p class="akst_link">
</p>
	<h4>你可能也会喜欢以下文章：</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.watch-life.net/programming-notes/html-table-2-excel.html" title="html页面表格导出到excel总结 (2008-06-23)">html页面表格导出到excel总结</a> (3)</li>
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-property-attribute.html" title="c#细节&#8211;Property和Attribute迷局 (2008-07-17)">c#细节&#8211;Property和Attribute迷局</a> (1)</li>
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-question-marks.html" title="c#的细节(一)-问号的细节 (2008-07-03)">c#的细节(一)-问号的细节</a> (0)</li>
	<li><a href="http://www.watch-life.net/net-tip/sqlite-encrypted.html" title="Sqlite数据库的加密 (2008-07-25)">Sqlite数据库的加密</a> (0)</li>
	<li><a href="http://www.watch-life.net/aspnet/webresponse-cross-site-visit.html" title="WebResponse 跨域访问 (2008-07-07)">WebResponse 跨域访问</a> (1)</li>
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html" title="c#细节(三)-AS和IS (2008-07-07)">c#细节(三)-AS和IS</a> (0)</li>
	<li><a href="http://www.watch-life.net/visual-studio/have-c-and-vb-net-files-inside-your-app-code-directory.html" title="web developer tips (26):在 App_Code目录下同时放c#和VB.NET文件 (2009-07-19)">web developer tips (26):在 App_Code目录下同时放c#和VB.NET文件</a> (0)</li>
	<li><a href="http://www.watch-life.net/life-thinking/work-and-life.html" title="求职与做人 (2008-10-30)">求职与做人</a> (6)</li>
</ul>

转载请注明作者，出处，以及原始超链接。<br />评论数：0 | <b><a href='http://www.watch-life.net/csharp/csharp-detail-modifiers.html#comment'>评论这篇文章</a></b>|关注作者最近动态,欢迎 follow me <a href='https://twitter.com/xjb' target='_blank'>xjb@twitter.com</a>|联络作者：iamxjb@gmail.com<br/>© 2010 守望轩 <a href='http://www.watch-life.net/csharp/csharp-detail-modifiers.html'>www.watch-life.net</a>]]></content:encoded>
			<wfw:commentRss>http://www.watch-life.net/csharp/csharp-detail-modifiers.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>c#的细节(一)-问号的细节</title>
		<link>http://www.watch-life.net/csharp/csharp-detail-question-marks.html</link>
		<comments>http://www.watch-life.net/csharp/csharp-detail-question-marks.html#comments</comments>
		<pubDate>Wed, 02 Jul 2008 16:40:37 +0000</pubDate>
		<dc:creator>xjb</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[细节]]></category>
		<category><![CDATA[问号]]></category>

		<guid isPermaLink="false">http://www.watch-life.net/?p=145</guid>
		<description><![CDATA[写在最前面的话：
《c#的细节》是我当初学习c#时候，做的一些学习笔记的整理，现在回头看来这些都是非常浅显的知识，是c#非常细节的地方，同时也是不能忽略的地方，”细节决定成败“，也许有些严重。我希望把这些整理出来，可以给初学者一个参考,也给自己一个温故知新的机会。高手就不必花时间来看了。;-)
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
我想你一定写过下面这样类似的代码：

string strParam = Request.Params["param"];
if ( strParam== null )
{
    strParam= "";
}

或者这样的代码：

string strParam=
  Request.Params["param"] == null ? "": Request.Params["param"];

你发现，尽管实现的同一个功能，但第二段代码要比第一段代码是不是更简洁。这里的” ？：“就是一个三元的操作符。利用这个三元操作符也称条件操作符，就很简单的把一个if语句给实现了。
在使用条件操作符的时候要注意，假定条件表达式是这样 x？y：z，表达式类型的只能是使y 和z的变量类型之一，换句话说就是
y和z的变量类型决定这个条件表达式的类型，无论y和z是同一类型，还是y和z不是同一类型。
如果表达式的类型和赋值类型不一致，发生编译时错误 ，例如：如果你想实现如下代码：

string strTemp ;
object obj;
....

if(strTemp ==  "")
          obj   =   DBNull.Value;
  else
       [...]]]></description>
			<content:encoded><![CDATA[<p>写在最前面的话：</p>
<p><strong><span style="color: #0000ff;">《c#的细节》是我当初学习c#时候，做的一些学习笔记的整理，现在回头看来这些都是非常浅显的知识，是c#非常细节的地方，同时也是不能忽略的地方，”细节决定成败“，也许有些严重。我希望把这些整理出来，可以给初学者一个参考,也给自己一个温故知新的机会。高手就不必花时间来看了。;-)</span></strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>我想你一定写过下面这样类似的代码：</p>
<blockquote>
<pre><span style="color: #0000ff;">string</span> strParam = Request.Params["<span style="color: #8b0000;">param</span>"];
<span style="color: #0000ff;">if</span> ( strParam== <span style="color: #0000ff;">null</span> )
{
    strParam= "";
}</pre>
</blockquote>
<p>或者这样的代码：</p>
<blockquote>
<pre><span style="color: #0000ff;">string</span> strParam=</pre>
<pre>  Request.Params["<span style="color: #8b0000;">param</span>"] == <span style="color: #0000ff;">null</span> ? "": Request.Params["<span style="color: #8b0000;">param</span>"];</pre>
</blockquote>
<p>你发现，尽管实现的同一个功能，但第二段代码要比第一段代码是不是更简洁。这里的” <span style="color: #ff0000;">？：</span>“就是一个三元的操作符。利用这个三元操作符也称条件操作符，就很简单的把一个if语句给实现了。</p>
<p>在使用条件操作符的时候要注意，假定条件表达式是这样 x？y：z，表达式类型的只能是使y 和z的变量类型之一，换句话说就是<br />
y和z的变量类型决定这个条件表达式的类型，无论y和z是同一类型，还是y和z不是同一类型。<br />
如果表达式的类型和赋值类型不一致，发生编译时错误 ，例如：如果你想实现如下代码：</p>
<blockquote>
<pre><span style="color: #0000ff;">string</span> strTemp ;
<span style="color: #0000ff;">object</span> obj;
....

<span style="color: #0000ff;">if</span>(strTemp ==  "")
          obj   =   DBNull.Value;
  <span style="color: #0000ff;">else</span>
          obj   =   strTemp ;</pre>
</blockquote>
<p>然后为了简单，改成下面这种形式：</p>
<blockquote>
<pre><span style="color: #0000ff;">string</span> strTemp;
<span style="color: #0000ff;">object</span> obj = strTemp == ""?DBNull.Value:strTemp;</pre>
</blockquote>
<p>你编译的时候，会报错。因为DBNull和string之间没隐式转换，修改成如下代码就可以了：</p>
<blockquote>
<pre><span style="color: #0000ff;">object</span> obj = strTemp == ""? DBNull.Value: (<span style="color: #0000ff;">object</span>)strTemp;</pre>
</blockquote>
<p>另外条件操作符是向右关联的，从左到右进行计算，于是a?b:c?d:e 应理解为 a?b:(c?d:e)。</p>
<p>上面提到了DBNull，在c#2.0里面实现了Nullable数据类型，别小看这个数据类型，其实非常有用，从此我们就可以放弃对object数据进行 if（object==null）这样的判断了。同时你会发现，在数据库应用上，数据库中有的字段允许取空值，在C#世界中引入nullable类型正好与之对应，，从（C#）对象映射到关系数据库对象，或者反过来，转换都是比较平滑。如果你想进一步了解Nullable数据类型可以去查msdn(ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref2/html/T_System_Nullable.htm) 或者去<a href="http://msdn.microsoft.com/en-us/vcsharp/aa336809.aspx" target="_blank">这里</a>看看. 为了实现Nullable数据类型转换成non-Nullable型数据，就有了一个这样的操作符”<span style="color: #ff0000;">？？</span>（两个问号）“，双问号操作符意思是取所赋值??左边的，如果左边为null，取所赋值??右边的，比如int y = x ?? -1 如果x为空，那么y的值为-1.</p>
<p>于是这时候就可以把最上面第二段代码改成：</p>
<blockquote>
<pre><span style="color: #0000ff;">string</span> strParam= Request.Params["<span style="color: #8b0000;">param</span>"]?? "";</pre>
</blockquote>
<p>嘿嘿，是不是更简洁了。</p>
<p>另外还有”<span style="color: #ff0000;">？</span>（单问号）“修饰符，是System.Nullable&lt;T&gt;的缩写形式，比如int?代表是可空的整形，例如：int? a = 1 或者 int? b=null。Nullable类型具有一个HasValue的bool类型只读属性，当Nullable类型实例的该属性为true时，则表示该实例是非空实例，包含一个已知值Value，HasValue为false时，访问Value属性将导致System.InvalidOperationException。</p>
<p>怎么样？这里有关“？”号的细节，就不单单关注<a href="http://www.watch-life.net/csharp/csharp-detail-question-marks.html">问号</a>本身了</p>
<p> </p>
<p>本文地址：<a href="http://www.watch-life.net/csharp/csharp-detail-question-marks.html">http://www.watch-life.net/csharp/csharp-detail-question-marks.html</a></p>
<p class="akst_link">
</p>
	<h4>你可能也会喜欢以下文章：</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-property-attribute.html" title="c#细节&#8211;Property和Attribute迷局 (2008-07-17)">c#细节&#8211;Property和Attribute迷局</a> (1)</li>
	<li><a href="http://www.watch-life.net/net-tip/sqlite-encrypted.html" title="Sqlite数据库的加密 (2008-07-25)">Sqlite数据库的加密</a> (0)</li>
	<li><a href="http://www.watch-life.net/aspnet/webresponse-cross-site-visit.html" title="WebResponse 跨域访问 (2008-07-07)">WebResponse 跨域访问</a> (1)</li>
	<li><a href="http://www.watch-life.net/life-thinking/work-and-life.html" title="求职与做人 (2008-10-30)">求职与做人</a> (6)</li>
	<li><a href="http://www.watch-life.net/technology-book-review/programming-csharp-bookreview.html" title="温故知新的经典&#8211;书评《Programming C# 》中文版第4版 (2007-10-30)">温故知新的经典&#8211;书评《Programming C# 》中文版第4版</a> (1)</li>
	<li><a href="http://www.watch-life.net/visual-studio/have-c-and-vb-net-files-inside-your-app-code-directory.html" title="web developer tips (26):在 App_Code目录下同时放c#和VB.NET文件 (2009-07-19)">web developer tips (26):在 App_Code目录下同时放c#和VB.NET文件</a> (0)</li>
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-modifiers-as-is.html" title="c#细节(三)-AS和IS (2008-07-07)">c#细节(三)-AS和IS</a> (0)</li>
	<li><a href="http://www.watch-life.net/csharp/csharp-detail-modifiers.html" title="c#的细节(二)-修饰符 (2008-07-06)">c#的细节(二)-修饰符</a> (0)</li>
</ul>

转载请注明作者，出处，以及原始超链接。<br />评论数：0 | <b><a href='http://www.watch-life.net/csharp/csharp-detail-question-marks.html#comment'>评论这篇文章</a></b>|关注作者最近动态,欢迎 follow me <a href='https://twitter.com/xjb' target='_blank'>xjb@twitter.com</a>|联络作者：iamxjb@gmail.com<br/>© 2010 守望轩 <a href='http://www.watch-life.net/csharp/csharp-detail-question-marks.html'>www.watch-life.net</a>]]></content:encoded>
			<wfw:commentRss>http://www.watch-life.net/csharp/csharp-detail-question-marks.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
