【发布时间】:2013-03-30 18:00:19
【问题描述】:
我在 Object 类型的对象中有一个“System.Windows.Documents.TextSegment”类型的对象。我不能在我的代码中使用 TextSegment-Struct,因为它是 .net 框架的内部代码。
我想要做的是访问 TextSegment 类型对象中的 Start- 和 End-Property。我通过反射尝试了以下代码:
// This object is of type TextSegment
object textSegment = segments[0];
FieldInfo info = textSegment.GetType().GetField("_start", BindingFlags.IgnoreCase |
BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance| BindingFlags.Static;
现在我不知道如何访问 FieldInfo 的值。
我用以下代码试了一下:
object value1 = info.GetValue(segments[0]);
object value2 = info.GetValue(null);
但没有任何效果。
如何获取 TextSegment 的值?
【问题讨论】:
-
你可以试试下面的
var value1 = segments.GetType().GetProperties().FirstOrDefault( p => p.Name == yourPropertyName); -
不,这不起作用。我为 value1 得到 null
-
我刚刚意识到你想要 FieldInfo 看看这个 Stackoverflow 帖子我在想 PropertyInfo stackoverflow.com/questions/5090224/…
标签: c# wpf reflection