:私は私のメインウィンドウにこれを追加し、リストの中にいくつかのものを追加し読むと別のクラスからのIListに書く
public class ListTable
{
private IList<object> rolelist = new List<object>();
public IList<object> GetList()
{
return rolelist;
}
}
を: MainWindow.xaml.cs
ListTable rolelist = new ListTable();
private void CheckRights()
{
IList<object> testlist = myClass.GetList();
testlist.Add(new object[] { i, // 0
(string)reader["role"], // 1
(int)reader["can_add_kunde"], // 2
(int)reader["can_add_assignment_kunde"], // 3
(int)reader["can_delete_kunde"], // 4
(int)reader["can_edit_kunde"], // 5
(int)reader["can_add_firmenkunde"], // 6
(int)reader["can_add_assignment_firmenkunde"], // 7
(int)reader["can_delete_firmenkunde"], // 8
(int)reader["can_edit_firmenkunde"], // 9
(int)reader["can_add_assignment"], // 10
(int)reader["can_delete_assignment"], // 11
(int)reader["can_edit_assignment"], // 12
(int)reader["can_add_employee"], // 13
(int)reader["can_delete_employee"], // 14
(int)reader["can_edit_employee"], // 15
(int)reader["can_see_adminpanel"], // 16
(int)reader["can_change_columns_kunden"], // 17
(int)reader["can_change_columns_firmenkunden"], // 18
(int)reader["can_change_databaseTables"] // 19
});
}
今、私は別のクラスからこのリストにアクセスする: FirmCustomer.xaml.cs
private ListTable list;
private void CheckRights(string username)
{
IList<object> called = list.GetList();
foreach (object[] item in called)
{
MessageBox.Show(item[1].ToString());
}
}
しかし、called
は常にnullなので、Listを取得できません。
誰かが私のリストを取得しない理由を教えてもらえますか?そして、このリストにアクセスするにはどうすればいいですか?
以下のコードを作った。しかしFirmCustomer.xaml.csに、私はプライベートListTable list'の代わりに、 'ListTableリスト=新しいListTable''のリストを呼び出します。なぜそれはまだコピーですか? –
@AlbertoSolano 'GetList()'がコピーを返していない - 値の型でないオブジェクトは参照型なので、参照を返します。問題は、 'FirmCustomer'に' ListTable'のインスタンスがあり、 'MainWindow'で追加された項目についてはわからないということです。あなたの答えは – Andy