最近碰到点郁闷的事情。
不过注意下也就过去了。
程序照样能运行,而且也不会有什么错。
例一
普通实体类都这么写
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class ***Info : IDisposable
{
#region IDisposable 接口实现
/// <summary>
/// 终结器, 调用虚拟的Dispose方法
/// </summary>
~***Info()
{
Dispose(false);
}
/// <summary>
/// 调用虚拟的Dispose方法, 禁止Finalization(终结操作)
/// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
/// <summary>
/// 虚拟的Dispose方法
/// </summary>
protected virtual void Dispose(bool disposing)
{
if (!disposing)
return;
}
#endregion
/// <summary>
/// ***
/// </summary>
public string *** { get; set; }
}
例二
因为要缓存起来,所以要序列化
[Serializable]
public class ***Info
{
//因为属性也是小写的,所以前面要加_
private _***
/// <summary>
/// ***
/// </summary>
public string ***
{
get { return _***; }
set { _***= value; }
}
}
{
#region IDisposable 接口实现
/// <summary>
/// 终结器, 调用虚拟的Dispose方法
/// </summary>
~***Info()
{
Dispose(false);
}
/// <summary>
/// 调用虚拟的Dispose方法, 禁止Finalization(终结操作)
/// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
/// <summary>
/// 虚拟的Dispose方法
/// </summary>
protected virtual void Dispose(bool disposing)
{
if (!disposing)
return;
}
#endregion
/// <summary>
/// ***
/// </summary>
public string *** { get; set; }
}
例二
因为要缓存起来,所以要序列化
[Serializable]
public class ***Info
{
//因为属性也是小写的,所以前面要加_
private _***
/// <summary>
/// ***
/// </summary>
public string ***
{
get { return _***; }
set { _***= value; }
}
}
这两种写法看是一点什么问题都没有。
但是用到了wcf 之后就会出现不同的效果。
一个返回来的结果是
例一。
实休类.属性
XXX.XXX
例二。
实体类.私有变量
XXX._XXX
如果将例一修改为可序列化 [Serializable] 也能编译通过。
但返回过来更长。
实体类.XXXC... 什么的。
这样一来。调用的人。就郁闷了。到底是什么时候要加 下划线 _字段名 什么时候不要加下划线。
其实只要修改一下实体类
[Serializable]
public XXX
{public string xxx;}
就可以了。
如果跟据要缓存的加了[Serializable]
不缓存的就不加[Serializable]
这个规则也可以的。必竟一个网站,一个平台。缓存的东西不多的。
而现在出现了,一个程序员是所有的都不加[Serializable] 只有要用到缓存的才会加上[Serializable]
而另一个程序员全部都加上[Serializable]
如果来个六个程序员。一部份加,一部份不加。你试试写代码的时候什么时候是要加下划线的。什么时候是不加下划线的。
我就与项目经理提这个问题了。
这有什么关系呢?这不是很正常的吗?
能统一的东西为什么不统一一下呢?同样的东西,一下要加下划线,一下不要下划线,谁分的清楚啊?
最终还是没有悠修改。原来怎么样就怎么样吧。