0
我是編程新手,所以我不知道我在做什麼。 我拉從不同的類的枚舉值,並將它們設置爲getter和setter。使用開關選擇枚舉值
namespace DataLayer.Entities
{
public enum CourseModeOfDelivery
{
Online, ClassRoom, ELearning,
}
public class Course
{
public int ID { get; set; }
public String CourseName { get; set; }
public String Description { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public CourseModeOfDelivery CourseMode { get; set; }
}
在courseRepository
public static Course GetCourse(int id)
{
Course a = new Course();
String GetCommand = "Select CourseName, Description, StartDate, EndDate, CourseMode from Course" + "Where ID = @CourseID";
SqlConnection connection = DBManager.GetSqlConnection();
SqlCommand command = new SqlCommand(GetCommand, connection);
command.Parameters.AddWithValue("@StudentID", id);
try
{
var reader = command.ExecuteReader();
//Read the Command Object and then return details
if (reader.HasRows)
{
while (reader.Read())
{
a.ID = Convert.ToInt32(reader["ID"]);
a.CourseName = reader["CourseName"].ToString();
a.Description = reader["Description"].ToString();
a.StartDate = DateTime.Parse(reader["StartDate"].ToString());
a.EndDate = DateTime.Parse(reader["EndDate"].ToString());
var selection = CourseModeOfDelivery.ClassRoom;
switch (selection)
{
case CourseModeOfDelivery.ClassRoom:
a.CourseMode = CourseModeOfDelivery.ClassRoom;
return a.CourseMode;
case CourseModeOfDelivery.ELearning:
a.CourseMode = CourseModeOfDelivery.ELearning;
return a.CourseMode;
case CourseModeOfDelivery.Online:
a.CourseMode = CourseModeOfDelivery.Online;
return a.CourseMode;
}
a.CourseMode =
}
}
else
{
reader.Close();
}
}
閱讀此值的要求是使用開關,但不知道怎麼拉在那裏的數據。
但您是否認爲我的switch語句正確? – user1669556
你準確的意思是什麼?您的語法是正確的(除了交換機之後的不完整賦值),並且交換機內部的分配也應該工作。唯一奇怪的是你將'selection'設置爲靜態值,然後打開它。因此,您將始終執行第一個case語句,並且您的開關只會重新分配先前已設置的值。 – Darneas
我只是想保存用戶從下拉列表中選擇並保存到a.CourseMode,就像我在a.StartDate和a.EndDate一樣,因爲我的用戶將有3個選擇從下拉選擇我使用開關將它們分開。 – user1669556