C# C语言中的DefaultValue属性

C# C语言中的DefaultValue属性,c#,attributes,C#,Attributes,我想使用on DefaultValue属性来定义我在应用程序中编写的自定义类的默认值。全班同学给了他一根弦。 我写的如下: [DefaultValue(Type.GetType("MyClass"),"hello world")] 但是当我尝试运行这个应用程序时。我给出一个错误: 属性参数必须是 常量表达式 或数组的创建表达式 属性参数类型 有人能解释一下问题出在哪里吗?我怀疑是类型。GetTypeMyClass 你能试试typeofMyClass,传递类型而不是字符串吗?我怀疑是类型。Ge

我想使用on DefaultValue属性来定义我在应用程序中编写的自定义类的默认值。全班同学给了他一根弦。 我写的如下:

[DefaultValue(Type.GetType("MyClass"),"hello world")] 
但是当我尝试运行这个应用程序时。我给出一个错误:

属性参数必须是 常量表达式 或数组的创建表达式 属性参数类型


有人能解释一下问题出在哪里吗?

我怀疑是类型。GetTypeMyClass


你能试试typeofMyClass,传递类型而不是字符串吗?

我怀疑是类型。GetTypeMyClass

您可以尝试使用TypeOfCycle类,而不是传递类型而不是字符串吗?

您使用的是type.GetTypeMyClass,其中应该有TypeOfCycle类。

您使用的是type.GetTypeMyClass,其中应该有TypeOfCycle类。

type.GetType是一种方法,即不是常量表达式,正如其他人所说的,使用typeof

编辑:要将字符串转换为自定义类,您需要将TypeConverter与之关联,请参阅的“示例”部分了解如何进行转换。

Type.GetType是一种方法,即不是常量表达式,正如其他人所说,使用typeof


编辑:要启用字符串到自定义类的转换,您需要将TypeConverter与之关联,请参阅的“示例”部分了解如何进行转换。

它可以工作,但现在我无法成功地给出此属性的值。我该怎么写呢?你有错吗?我刚刚读到:它稍微解释了值何时可见。我必须承认我以前没有使用过DefaultValueAttributes,如果您能提供更多细节,我可能会提供帮助。如果这个帖子上的其他人看到这个评论,他们可能也能提供帮助,但是现在我无法成功地给出这个属性的值。我该怎么写呢?你有错吗?我刚刚读到:它稍微解释了值何时可见。我必须承认我以前没有使用过DefaultValueAttributes,如果您能提供更多细节,我可能会提供帮助。如果这个帖子上的其他人看到这个评论,他们可能也能提供帮助,但是现在我无法成功地给出这个属性的值。我该写些什么呢?我想你需要详细解释一下你想做什么。我试着建立一个枚举,他的值不是int或char。因此我在每个值之前写入-[DefaultValueType.GetTypeMyClass,11:00:00],并在MyClass的ctor中对字符串进行PARS。但是现在我怎样才能为每个值接收我在DefaultValue属性中写入的值呢?在C中,枚举值必须是整数类型。可能会有帮助。它可以工作,但现在我无法成功地给出此属性的值。我该写些什么呢?我想你需要详细解释一下你想做什么。我试着建立一个枚举,他的值不是int或char。因此我在每个值之前写入-[DefaultValueType.GetTypeMyClass,11:00:00],并在MyClass的ctor中对字符串进行PARS。但是现在我怎样才能为每个值接收我在DefaultValue属性中写入的值呢?在C中,枚举值必须是整数类型。可能会有帮助。它可以工作,但现在我无法成功地给出此属性的值。我应该写些什么来给出它呢?我没有太多地使用DefaultValue属性,但是当我这么做的时候,我从来都不需要给它一个类型,我只是为bool:[DefaultValuefalse]输入了这样的值,因为你想使用更复杂的类型,你应该看看它是如何转换值的,也许你的类需要实现一个接口才能工作。它可以工作,但是现在我无法成功地给出这个属性的值。我应该写些什么来给出它呢?我没有太多地使用DefaultValue属性,但是当我这么做的时候,我从来都不需要给它一个类型,我只是为bool:[DefaultValuefalse]输入了这样的值,因为你想使用更复杂的类型,你应该看看它是如何转换值的,也许您的类需要实现一个接口才能工作。
[DefaultValue(typeof(MyClass),"Convertible String")]