【发布时间】:2010-09-23 18:17:53
【问题描述】:
我有一个对象数组,我要返回以在不同的方法中使用对象,但是由于某种原因它说“并非所有代码路径都返回一个值”
这是代码......
private object[] runTests(string banText, object tabControlName, int runThisTest, string testName)
{
if (stopTests == false)
{
var tabPageBrowser = new TabPage();
var Browser = new WebBrowser();
(tabControlName as TabControl).TabPages.Add(tabPageBrowser);
tabPageBrowser.Name = tabControlName.ToString();
tabPageBrowser.Text = testName;
tabPageBrowser.Font = new System.Drawing.Font("Trebuchet MS", 8.25F,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
Browser.Dock = DockStyle.Fill;
Browser.Url = new Uri(testStrings(runThisTest, banText));
Browser.Name = tabControlName.ToString();
Browser.ScriptErrorsSuppressed = true;
tabPageBrowser.Controls.Add(Browser);
try
{
while (Browser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
}
catch
{
return null;
}
IntPtr pHandle = GetCurrentProcess();
SetProcessWorkingSetSize(pHandle, -1, -1);
object[] browserObjects = new object[2];
browserObjects[0] = tabPageBrowser;
browserObjects[1] = Browser;
if (browserObjects != null)
{
return browserObjects;
}
}
}
我看不出我做错了什么,你能帮忙吗?谢谢!
【问题讨论】:
-
其中一个问题是关于 browserObjects 的 if 语句,它永远不能为空,但在编写语句时,您会创建一个不返回值的路径。