using Wanhjor.ObjectInspector;
private string _privateField = "This field it's so private...";
private string PrivateProperty { get; set; } = "You can't read this";
private void PrivateConsoleWrite(string line)
public static class ObjectFactory
public static object New() => new SomeClass();
public static void Main()
var obj = OtherAssembly.ObjectFactory.New();
public static void HandleObject(object obj)
var inspTuple = new InspectorTuple<string, string, object>(new InspectName("_privateField", DuckAttribute.AllFlags),
new InspectName("PrivateProperty", DuckAttribute.AllFlags),
new InspectName("PrivateConsoleWrite", DuckAttribute.AllFlags));
inspTuple.SetInstance(obj);
Console.WriteLine(inspTuple.Item1);
Console.WriteLine(inspTuple.Item2);
inspTuple.Item1 = "This field it's so private... or not!";
inspTuple.Item2 = "You can't read this. I think I can!";
Console.WriteLine(inspTuple.Item1);
Console.WriteLine(inspTuple.Item2);
inspTuple.InvokeItem3("Sooo private...");