C# GetObject()方法过早返回方法
我正在编写一个Windows窗体纸牌游戏,在为我的纸牌分配图像时遇到问题。当我调试下面的代码时,该方法似乎在到达GetObject方法时意外返回。我使用这种方法不当吗?如果是,有谁能提供更好的解决方案C# GetObject()方法过早返回方法,c#,.net,resourcemanager,C#,.net,Resourcemanager,我正在编写一个Windows窗体纸牌游戏,在为我的纸牌分配图像时遇到问题。当我调试下面的代码时,该方法似乎在到达GetObject方法时意外返回。我使用这种方法不当吗?如果是,有谁能提供更好的解决方案 private void initCards() { ResourceManager rm = new ResourceManager(typeof(Image)); for (int i = 0; i < 4; i++)
private void initCards()
{
ResourceManager rm = new ResourceManager(typeof(Image));
for (int i = 0; i < 4; i++)
{
for (int j = 102; j < 115; j++)
{
int tempId = j + (i * 100);
Card tempCard = new Card(tempId);
object obj = rm.GetObject("card"+tempId);
int x = 12;
tempCard.setImage((Image)obj);
deck.Add(tempCard);
}
}
}
private void initCards()
{
ResourceManager rm=新的ResourceManager(类型(图像));
对于(int i=0;i<4;i++)
{
对于(int j=102;j<115;j++)
{
int tempId=j+(i*100);
卡片tempCard=新卡片(tempId);
对象对象=rm.GetObject(“卡”+tempId);
int x=12;
tempCard.setImage((Image)obj);
甲板。添加(临时卡);
}
}
}
听起来您正在接受一个异常。寻找catch
块。听起来不对。GetObject
方法不能使方法像那样结束,除非它抛出异常。你可能在某处吞下了异常,因为方法不能中途“返回”。找到这个地方(查找try-catch块)并查看异常文本是什么。@我的想法一目了然-但是如果WinForms事件处理程序调用了initCards
(例如Form\u Load
),那么异常也将被吞没,在user-code中没有catch
语句。在不相关的注释中,这段代码中显示的神奇数字()数量确实令人震惊。