gpt4 book ai didi

c# - 如何使用结构属性设置默认值?

转载 作者:太空狗 更新时间:2023-10-29 22:08:39 26 4
gpt4 key购买 nike

我想知道如何将 [DefaultValue] 属性应用于结构属性。您会注意到 Microsoft 使用 Form 的 Size 和许多其他属性来做到这一点。它们的值的类型是 Size、Point 等。我想用我的自定义结构做同样的事情。

最佳答案

[DefaultValue(typeof(Point), "0, 0")]

将是一个例子。使用字符串来初始化值是不可避免的,您可以在属性构造函数中使用的类型非常有限。只有简单的值类型,string,Type和它们的一维数组。

要完成这项工作,您必须为您的结构编写一个 TypeConverter:

[TypeConverter(typeof(PointConverter))]
[// etc..]
public struct Point
{
// etc...
}

MSDN 库中关于类型转换器的文档不是很好。使用 .NET 类型转换器,您可以使用 Reference Source 查看其源代码或使用 Reflector 进行逆向工程,这是您自己工作的一个很好的起点。顺便提一下文化。

关于c# - 如何使用结构属性设置默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4572325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com