我有以下类,它基本上创建了一个类别列表(称为命令,我知道它很奇怪)
这是CommandDB.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.Common;
using System.Data.Sql;
using System.Data.SqlClient;
namespace TM_non_deploy
{
public partial class CommandDB
{
private static string connectionString = "blah";
public static List<Command> GetCommands()
{
List<Command> commandList = new List<Command>();
DbConnection connection = new SqlConnection();
SqlCommand cmd = (SqlCommand)connection.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sp_tm_commands";
connection.ConnectionString = GetConnectionString();
connection.Open();
SqlDataReader reader = null;
reader = cmd.ExecuteReader();
Command command;
while (reader.Read())
{
command = new Command();
command.ID = reader.GetOrdinal("id");
command.Name = reader["name"].ToString();
commandList.Add(command);
}
reader.Close();
connection.Close();
return commandList;
}
private static string GetConnectionString()
{
return connectionString;
}
}
}
我的问题希望非常简单,我如何在我的主页面中访问此列表,以便它调用该函数并返回所有命令,以便我可以通过它们进行迭代?我认为它可能是List<CommandDB> commandList = new List<CommandDB.>GetCommands();
之类的东西,但我真的没有任何运气通过msdn搞清楚。
答案 0 :(得分:3)
此方法是静态的,因此应该像这样调用
List<Command> commandList = CommandDB.GetCommands();
答案 1 :(得分:2)
List<Command> myCommands = CommandDB.GetCommands();
foreach(Command com in myCommands)
{
//Do stuff
}
我认为这是您正在寻找的语法。
答案 2 :(得分:2)
var commandList = CommandDB.GetCommands(); //implicit type detection by compiler
答案 3 :(得分:1)
静态成员属于该类型 本身而不是具体的 对象
无法引用静态成员 通过一个实例。相反,它是 通过类型名称引用。
List<Command> commandList = CommandDB.GetCommands();