C# 添加到可观察集合的问题

C# 添加到可观察集合的问题,c#,wpf,C#,Wpf,我在向可观察的集合添加项目时遇到问题,在过去几个小时里我尝试了一些方法,但仍然没有成功 错误是对象引用未设置为对象的实例 这是代码 public class IPermissionData { public UserListViewModel userListViewModel { get; set; } public UserListViewModel GetAllUsers() { List<string> userList = new

我在向可观察的集合添加项目时遇到问题,在过去几个小时里我尝试了一些方法,但仍然没有成功

错误是对象引用未设置为对象的实例

这是代码

public class IPermissionData
{
    public UserListViewModel userListViewModel { get; set; }

    public UserListViewModel GetAllUsers()
    {
        List<string> userList = new List<string>();

        string sqlUsers = "select distinct username from DIMS_roles";
        DataTable tempUserTable = new DataTable();
        tempUserTable = Enviroment._database.GetResults(sqlUsers);

        for (int i = 0; i < tempUserTable.Rows.Count; i++)
        {
            if (tempUserTable.Rows[i]["username"].ToString() != null && tempUserTable.Rows[i]["username"].ToString() != "")
                userList.Add(tempUserTable.Rows[i]["username"].ToString());
        }

        foreach (string user in userList) 
        {
            if (user != null)
            {

                List<string> userPerm = new List<string>();
                string tempPermSql = string.Format("select role from DIMS_roles where username='{0}'", user);
                DataTable tempPermTable = new DataTable();
                tempPermTable = Enviroment._database.GetResults(tempPermSql);

                for (int i = 0; i < tempPermTable.Rows.Count; i++)
                {
                    if (tempPermTable.Rows[i]["role"].ToString() != null && tempPermTable.Rows[i]["role"].ToString() != "")
                        userList.Add(tempPermTable.Rows[i]["role"].ToString());
                }
                //UserViewModel userViewModel = new UserViewModel() { Permission = userPerm, PermCount = userPerm.Count(), UserName = user };
                userListViewModel.TheUsers.Add(new UserViewModel() { Permission = userPerm, PermCount = userPerm.Count(), UserName = user });
            }
        }
        return userListViewModel;
    }

    public IPermissionData() 
    {
        userListViewModel = new UserListViewModel(); 
    }
}
公共类IPermissionData
{
公共用户ListViewModel用户ListViewModel{get;set;}
公共用户ListViewModel GetAllUsers()
{
List userList=新列表();
string sqlUsers=“从DIMS_角色中选择不同的用户名”;
DataTable tempUserTable=新DataTable();
tempUserTable=Environment.\u database.GetResults(sqlUsers);
for(int i=0;i
应在视图模型类构造函数中实例化用户可观察集合。如果不是,则为空-这就是为什么不能向其中添加项。无法将项目添加到不存在的内容中。:)

哪一行抛出异常?什么对象是
null
?可观察的集合在哪里?我猜用户是可观察的集合-你能发布UserListViewModel类引用用户的部分吗?抱歉,我在离开工作之前发布了它。用户是可观察的集合