C# winform如何设计一个公共类

haloow8 2011-11-02 10:48:27
winform项目需要设计一个公共的类来保存一些常用的代码,比如说要将数据库里设置打印位置和字体大小的一些常用字符读取到类中缓存好,然后在程序的其它地方就直接调用就可以,这样就不用多次重新访问数据库去取同样的东西,请问各方高人指点如何设计这样的一个类?类要不要设计为静态的?在程序其它地方又如何去访问类里的字段?求高手示范一个例子,代码最好详细点,因为没搞过,谢谢!
...全文
659 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2011-11-02
  • 打赏
  • 举报
回复
新建项目,选择类库,编写好后生成dll。其他项目需要引用这个dll即可。
hsphsphsp 2011-11-02
  • 打赏
  • 举报
回复
用享元设计模式,学习了。。。
qweeew 2011-11-02
  • 打赏
  • 举报
回复
不一定要用静态的类,静态类可直接用类名调用,非静态类,也可以通过实例化类对象调用。
mingcsharp 2011-11-02
  • 打赏
  • 举报
回复
if(dm=null)

if(dm==null)写错了
mingcsharp 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 haloow8 的回复:]
winform项目需要设计一个公共的类来保存一些常用的代码,比如说要将数据库里设置打印位置和字体大小的一些常用字符读取到类中缓存好,然后在程序的其它地方就直接调用就可以,这样就不用多次重新访问数据库去取同样的东西,请问各方高人指点如何设计这样的一个类?类要不要设计为静态的?在程序其它地方又如何去访问类里的字段?求高手示范一个例子,代码最好详细点,因为没搞过,谢谢!
[/Quote]

说简单点就是一个结构,如果结构不行,就来一个类,里面写上你的字段属性就可以,里面提供一个静态方法,用于创建这个类的对像,再搞一个私立有的构造函数,就是不让外面创建,只能通过这个静态方法创建,
里面这样写

public class demo
{
demo dm=null;
public static CreateInit()
{
if(dm=null)
dm=new demo();
return dm;
}
}
这样就可以在任何地方这样用用了,
愤豆 2011-11-02
  • 打赏
  • 举报
回复
这种情况下,建议用享元设计模式
pitsou7 2011-11-02
  • 打赏
  • 举报
回复
要在程序其他地方调用这个类的成员, 把这成员设置为静态属性就好.
  • 打赏
  • 举报
回复
字符串处理公共类

public static class StringExtensions
{
public static string EncodeHtml(this string str, string Htmlstring)
{
if (!string.IsNullOrEmpty(str))
{
//删除脚本
Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
//删除HTML
Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"([/r/n])[/s]+", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "/", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "/xa1", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "/xa2", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "/xa3", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "/xa9", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&#(/d+);", "", RegexOptions.IgnoreCase);
//Htmlstring = Regex.Replace(Htmlstring, @"\s+", "", RegexOptions.IgnoreCase);
Htmlstring.Replace("<", "");
Htmlstring.Replace(">", "");
//Htmlstring.Replace("/r/n", "");
// Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
}
else
{
Htmlstring = null;
}

return Htmlstring;
}
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧