我特林考一個新的DLL,我已經建立了C#未處理的異常C#DLL
private void button1_Click(object sender, EventArgs e)
{
String [] first = UserQuery.Get_All_Users();
//MessageBox.Show(first);
}
,但我得到了下面的錯誤在String [] first = UserQuery.Get_All_Users();
型「System.NullReferenceException」未處理的異常發生在User_Query.dll中
附加信息:未將對象引用設置爲對象的實例。
我一直特林算出這個一出來幾個小時,但找不到任何空可變因素
我後我的DLL的情況下,該dll是錯誤的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
namespace User_Query
{
public class UserQuery
{
public static string[] Get_All_Users()
{
string[] names = new string[10];
var path = string.Format("WinNT://{0},computer", Environment.MachineName);
using (var computerEntry = new DirectoryEntry(path))
{
var userNames = from DirectoryEntry childEntry in computerEntry.Children
where childEntry.SchemaClassName == "User"
select childEntry.Name;
byte i = 0;
foreach (var name in userNames)
{
Console.WriteLine(name);
names[i] = name;
i++;
}
return names;
}
}
}
}
如果不知道確切發生異常的位置,很難提供幫助 - 但如果您遵循.NET命名約定並清除那些下劃線,它將有助於可讀性。 (你也應該考慮使用'List'而不是字符串數組。) –
有沒有理由不能在你的dll中設置一個斷點並逐步完成? – Brandon
討厭看起來像一個noob,但我是新來的這只是谷歌命名約定從來沒有聽說過這個uni。 –