因此,我試圖使用枚舉,可能以錯誤的方式,因爲我來自PHP。在C#中我有一個全球性的類,它的作用:瞭解枚舉 - 用作常量
public static class GlobalTypes
{
public enum assignmentType { SERV = "SERV", PROD = "PROD", PER = "PER", }
}
從那裏我試圖與實體交互做:
public static IEnumerable<Person> getAllAgents(int id)
{
using (var db = new LocAppContext())
{
var person = (from p in db.Person
join la in db.LocationAssignment on p.id equals la.value
where la.locationID == id && la.type == GlobalTypes.assignmentType.PER
select p).ToList();
return person;
}
}
但我得到的錯誤:
Operator '==' cannot be applied to operands of type 'string' and 'LocApp.Helpers.Classes.LocationAssignments.GlobalTypes.assignmentType'
發生在
la.type == GlobalTypes.assignmentType.PER
我的邏輯,這是從PHP的,是我想要一個全局常量,我可以調用任何地方「回聲」調用時,該常量的值,所以恆定值可以改變,但我不必改變它在一百萬個地方。
想法?
只需溝'= 「SERV」'部分,它應該是好的去。下面是關於C#中枚舉用法的一些MSDN文檔:http://msdn.microsoft.com/en-ca/library/vstudio/cc138362.aspx編輯:另外,你的'la.type'應該被定義爲'GlobalTypes.assignmentType '不是一個字符串。 – 2013-04-23 20:20:48
枚舉不是字符串,C#不是PHP。 – alex 2013-04-23 20:21:30
@ChrisSinclair所以你說我可以這樣做:'&& GlobalTypes.assignmentType' ??它會知道我想要什麼? – TheWebs 2013-04-23 20:23:05