为什么“公共值结构”不能有任何方法或构造函数,而“值结构”可以?如何在 WinRT 组件库中编写像“Vector3”这样的结构并在另一个 WinRT 应用程序中使用它?
问问题
837 次
2 回答
3
当您将结构声明为“公共”时,您将其声明为 Windows 运行时结构。Windows 运行时中的结构是值类型。它们不能有方法(或构造函数)。
它们也按值编组,这可能不是您想要的。
您可能想要创建一个类而不是结构。
于 2011-10-09T00:28:37.597 回答
0
值类型/结构被映射为内存的“块”,很像传统的 C 结构,而不是 .Net 的实现,即:它可以包含字段和方法。
所以值类型只需要在其中包含字段或构造函数。
您需要将 Vector3 拆分为两部分,其中一部分包含可能称为 Vector3Data 的数据,而 Vector3 具有操作它所需的所有方法。
于 2011-10-08T22:06:33.640 回答