C# 在中使用枚举值作为属性
我的枚举如下:C# 在中使用枚举值作为属性,c#,wpf,enums,C#,Wpf,Enums,我的枚举如下: private enum MovieData { Name, Type, Size, Description, ReleaseDate }; 现在我想使用enum的值作为属性名 public string MovieData.Name { get { return name; } set { name = value;
private enum MovieData { Name, Type, Size, Description, ReleaseDate };
现在我想使用enum的值作为属性名
public string MovieData.Name
{
get
{
return name;
}
set
{
name = value;
}
}
其他人也一样,名称是一个属性。all的返回类型应为string,并且我希望仅使用Name而不是MovieData.Name访问属性
我怎样才能做到这一点呢?我不确定你的问题是什么,但正如@crashmstr所评论的。。看起来不需要枚举,只需要一个类来保存这些属性
你可以用任何方法,但这不是一个好的做法
我不知道你想让二传手做什么
要返回字符串还是枚举
但我仍然不清楚你在问什么。问题是:你为什么要这样做?你能再多写一些吗?我不太明白,公共字符串MovieData.Name是无效的C。你能举一个更广泛的例子说明你的意思吗?如何使用它,等等。听起来您根本不需要枚举,但MovieData应该是一个具有公共字符串名称{get;set;}等属性的类。@UmairJameel您可以拥有枚举类型的属性。public enum MovieCat{恐怖、浪漫、喜剧}->public MovieCat Category{get;set;}@UmairJameel我想你需要和你的指导老师谈谈,明确他们的意思,因为你不理解enum在C中是如何工作的。enum用于生成一种命名的值范围,如我上面的示例所示。您可以获得字符串值,但有用之处在于按原样使用枚举。
public string Name
{
get
{
return MovieData.Name.ToString();
}
}
public string Type
{
get
{
return MovieData.Type.ToString();
}
}
public string Size
{
get
{
return MovieData.Size.ToString();
}
}
public string Description
{
get
{
return MovieData.Description.ToString();
}
}
public string ReleaseDate
{
get
{
return MovieData.ReleaseDate.ToString();
}
}
private class SomeClass
{
private MovieData _data;
public MovieData Data { get { return _data; } set { _data = value; } }
public string DataString
{
get { return _data.ToString(); }
set {
switch (value){
case "Name":
_data = MovieData.Name;
break;
case "Type":
_data = MovieData.Type;
break;
// etc.
}
}
}
}