fast-member
fast-member copied to clipboard
ObjectAccessor throws ArgumentOutOfRangeException when accessing private members
Failing test attached
public class ObjectAccessorPrivateAccessTest
{
[Test]
public void Fails_when_accessing_private_field()
{
var token = new Wrapper<Bar>(new Bar {Title = "#1 Title", Url = "#1 Url"});
var @public =
ObjectAccessor.Create(token.Item, true)["DebuggerDisplay"];
var @private =
ObjectAccessor.Create(token.Item, true)["DebuggerDisplayPrivate"];
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public class Wrapper<T>
{
public Wrapper(T item)
{
Item = item;
}
public T Item { get; }
public double Score { get; set; }
private string DebuggerDisplay =>
$"Score = {Score}, {ObjectAccessor.Create(Item, true)["DebuggerDisplay"]}";
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public class Bar
{
public string Url { get; set; }
public string Title { get; set; }
private string DebuggerDisplayPrivate => $"Title = {Title}, Url = {Url}";
public string DebuggerDisplay => $"Title = {Title}, Url = {Url}";
}
}
Related: #9