我正在调试一个WCF项目与双向通信。我有一个数据回调函数,我在数组中存储客户端,一个WinForm,并用它来绘制一个控件。正如你所猜测的,当我读取数据时,数据从写入数组(真的是一个列表)中消失。显示在C#中的引用地址(调试WCF)
对于调试,我想看看我是否写入和阅读相同的对象,以便回调函数没有做出某种副本并将其扔掉。例如,我想查看这个指针的地址。我如何在VS2010 Exp中做到这一点?
编辑
一些代码:
字段声明:
// the cards that the player have
private List<Card> cards = new List<Card>();
回调处理:
private void btnDraw_Click(object sender, EventArgs e)
{
Tuple<Card, string> update = PressedDraw(this);
cards.Add(update.Item1);
PaintCards();
}
漆事件:
private void cardPanel_Paint(object sender, PaintEventArgs e)
{
int counter = 0;
Point fromCorner = new Point(20,12);
int distance = 50;
foreach (Card card in cards)
{
Point pos = fromCorner;
pos.Offset(counter++ * distance, 0);
Bitmap cardBitmap =
cardFaces[Convert.ToInt32(card.suit),
Convert.ToInt32(card.rank)];
Rectangle square = new Rectangle(pos, cardBitmap.Size);
e.Graphics.DrawImage(cardBitmap, square);
}
当我调试我在回调处理程序首先进入并增加了Card
在cards
PaintCards()
电话Invalidate
和油漆的事件时运行。当在cardPanel_Paint
时,cards.Count
再次为零。
此致敬礼。
Görgen
谢谢你的回答,它是同一个对象。 – Gorgen 2010-11-03 08:06:38
非常感谢 - 谢谢! – Andy 2011-05-17 12:55:01