不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
C#附属类
编辑:dnawo 日期:2009-05-18
根据需求我们定义了一个应用程序基类App,这些类在运行前都必须先配置一些信息,App基类代码如下:
后来我们将配置信息移到另一个类AppStartInfo中:
AppStartInfo和Web应用程序多层结构中的实体类非常相似,后来又想这样没什么意思,两个明明相关的两个类却被弄成毫无关系,希望App有个AppStartInfo类型的属性:
调用示例:
后来发现还有其他的赋值方法:
这样AppStartInfo就完全是为App服务的,相当于是App的附属类,想想System.Diagnostics.Process对象的StartInfo属性,是不是也是这样子的?
复制内容到剪贴板
程序代码

class App
{
private string _args;
public string Args
{
get { return _args; }
set { _args = value; }
}
public void Run()
{
//Write Args
}
}
{
private string _args;
public string Args
{
get { return _args; }
set { _args = value; }
}
public void Run()
{
//Write Args
}
}
后来我们将配置信息移到另一个类AppStartInfo中:
复制内容到剪贴板
程序代码

class App
{
public void Run(AppStartInfo startInfo)
{
//Write startInfo.Args
}
}
class AppStartInfo
{
private string _args;
public string Args
{
get { return _args; }
set { _args = value; }
}
public AppStartInfo()
{ }
public AppStartInfo(string args)
{
_args = args;
}
}
{
public void Run(AppStartInfo startInfo)
{
//Write startInfo.Args
}
}
class AppStartInfo
{
private string _args;
public string Args
{
get { return _args; }
set { _args = value; }
}
public AppStartInfo()
{ }
public AppStartInfo(string args)
{
_args = args;
}
}
AppStartInfo和Web应用程序多层结构中的实体类非常相似,后来又想这样没什么意思,两个明明相关的两个类却被弄成毫无关系,希望App有个AppStartInfo类型的属性:
复制内容到剪贴板
程序代码

class App
{
private AppStartInfo _startInfo = null;
public AppStartInfo StartInfo
{
get
{
if (_startInfo == null)
_startInfo = new AppStartInfo();
return _startInfo;
}
set
{
if (value is AppStartInfo)
_startInfo = value;
else
throw new ArgumentException("StartInfo赋值非法!");
}
}
public void Run()
{
//Write StartInfo.Args
}
}
{
private AppStartInfo _startInfo = null;
public AppStartInfo StartInfo
{
get
{
if (_startInfo == null)
_startInfo = new AppStartInfo();
return _startInfo;
}
set
{
if (value is AppStartInfo)
_startInfo = value;
else
throw new ArgumentException("StartInfo赋值非法!");
}
}
public void Run()
{
//Write StartInfo.Args
}
}
调用示例:
复制内容到剪贴板
程序代码

AppStartInfo startInfo = new AppStartInfo("Mzwu.Com");
App app = new App();
app.StartInfo = startInfo;
app.Run();
App app = new App();
app.StartInfo = startInfo;
app.Run();
后来发现还有其他的赋值方法:
复制内容到剪贴板
程序代码

App app = new App();
app.StartInfo.Args = "Hello World!";
app.Run();
app.StartInfo.Args = "Hello World!";
app.Run();
这样AppStartInfo就完全是为App服务的,相当于是App的附属类,想想System.Diagnostics.Process对象的StartInfo属性,是不是也是这样子的?
评论: 0 | 引用: 0 | 查看次数: 3662
发表评论
请登录后再发表评论!