使用PropertyInfo类获取属性的实际值



我正在使用PropertyInfo方法来获取我正在使用fyneworks jQuery多文件上传插件上传的附件的大小。一切都很好,但我需要了解我房产的真实价值。我使用以下代码设置附件的文件大小:

PropertyInfo sizeProperty = aType.GetProperty("Size");
sizeProperty.SetValue(attachmentItem, fileData.Length, null);

为了简单起见,我想写控制台:

Console.WriteLine("FILE SIZE: " + sizeProperty.ToString());

上面的代码返回的是:FILE SIZE:System.Nullable`1[System.Int32]SIZE这并不是真正有用的。

附带说明-虽然不理想,但我必须使用反射,因为我受到了所给我的限制。理想情况下,我想直接访问属性,但我无法访问。

PropertyInfo表示与类型有关的属性和元数据,而不是实例。当您想将其用于实例时,必须使用GetValueSetValue

在您的情况下,如果您将实例传递给GetValue,它将为您提供正确的大小,但@mason的问题非常有趣:为什么不直接访问实例的属性?

相关内容

  • 没有找到相关文章

最新更新