怎样得到c#程序中某类的实例化对象的个数?

sdsxc 2002-11-15 02:43:45
加精
怎样得到c#程序中某类的实例化对象的个数?
...全文
519 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rbjojo 2002-11-16
  • 打赏
  • 举报
回复
同意: TonyJoule(寒星㊣)
freewuyang 2002-11-16
  • 打赏
  • 举报
回复
如果是组件形式得类,你可以包装一层 自己的类实现,然后用 如果只想计数,静态变量也可以 用arraylist ,hashtable 什么的可以用于计数的collection都可以管理 .
xpilot 2002-11-15
  • 打赏
  • 举报
回复
定义静态成员来做记数!
snewxf 2002-11-15
  • 打赏
  • 举报
回复
别人写好的类也是一样的呀!
定义一个全局变量 count;
实例化这个类时:
Form1 f1 = new Form1();
if(f1 !=null)
{
count ++;
}
Form2 f2 = new Form2();
if (f2 != null)
{
count ++;
}
,,,,,,,,,,,只是这有点麻烦:( 555555555
反射我刚刚找了半天。它好像不可能求出一个类是否有实例吧!
实便被销毁时你参考一下:
MSDN:ms-help://MS.VSCC/MS.MSDNVS.2052/csspec/html/vclrfCSharpSpec_3_9.htm
希望对你有帮助!:)好运!兄弟!
sdsxc 2002-11-15
  • 打赏
  • 举报
回复
to snewxf(心疤) :
如果这给类是别人写好的组件中的一个类而且它没有计数器,那该怎么办呢?
snewxf 2002-11-15
  • 打赏
  • 举报
回复
同意:TonyJoule(寒星㊣)
不就是在你的构造函数里加个静态变量嘛!这还不够简单吗???
magi803 2002-11-15
  • 打赏
  • 举报
回复
反射
kl98 2002-11-15
  • 打赏
  • 举报
回复
gz
sdsxc 2002-11-15
  • 打赏
  • 举报
回复
设置一个静态计数器这个方法我明白,但这样需要为每个类都有一个静态计数器,有没有其它方法?
yarshray 2002-11-15
  • 打赏
  • 举报
回复
public class
{
int mNum=0;
class(){}
AddRef(){mNum++;}
Release(){nNum--;}
}

public test
{
static viod main()
{
class c=new class();
c.AddRef();
c.Release();
}
}
寒星 2002-11-15
  • 打赏
  • 举报
回复
上面的方法仅仅给出类被实例时计数的例子,当然实例被销毁时也应该减1。
寒星 2002-11-15
  • 打赏
  • 举报
回复
public class Form1 : System.Windows.Forms.Form
{
private System.ComponentModel.Container components = null;
private System.Windows.Forms.Button button1;

private static uint nInstanceCreated = 0;

public Form1()
{
InitializeComponent();

++nInstanceCreated;
}

private void button1_Click(object sender, System.EventArgs e)
{
uint iCount = 0;
Form1 Form2 = new Form1();

iCount = Form1.nInstanceCreated;//实例化对象的个数
}
}

110,567

社区成员

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

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

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