换句话说,我如何判断我是否引用了透明代理或本地对象?
问问题
969 次
2 回答
5
于 2012-01-19T23:09:51.427 回答
0
试试这个有趣的小技巧:
bool fIsTransparentProxy = ((myTransparentObject as MarshalByRefObject) == null);
当我尝试将透明代理转换为 MarshalByRefObject 时,它返回 null。我在 VB 中对此进行了测试,因为那是我所有的代理所在的地方,但希望在 C# 中同样的行为也适用。
另请注意,Visual Studio 调试器知道哪个是哪个,但我不知道如何获取产生相同结果的代码(将鼠标悬停在 VS 中的 TP 对象上显示System.Runtime.Remoting.Proxies.__TransparentProxy
为类类型,但这是一个内部密封类)。
于 2012-01-11T02:27:38.243 回答