我正在使用第三方SDK,它允许我通过创建对象来对其进行自定义。在我的对象内部,我可以做任何我想做的事情,它提供了将我自己的配置传递给它的功能,但是我无法将对象(引用)传递给它。在我的情况下,我有一个我需要参考的上下文对象。 如何在运行时获取对实例的引用? 下面我试图模拟该问题:如何在运行时获得对实例的引用?
using System;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
var runtime = new Runtime();
}
}
class Runtime
{
private MyContext myContext;
public Runtime()
{
myContext = new MyContext();
//cant pass my object in
var myobject = new ClassThatNeedsAReferenceToMyContext();
if(myobject.theContext == myContext)
{
Console.WriteLine("Yahoo");
}
}
}
class MyContext
{
}
class ClassThatNeedsAReferenceToMyContext
{
public ClassThatNeedsAReferenceToMyContext()
{
//do something here to get a reference to myContext
}
public MyContext theContext { get; private set; }
}
}
构造函数可以接收任何类型的参数。也参考对象 – Steve
这只是一个模拟,在我真正的问题中,类“ClassThatNeedsAReferenceToMyContext”是第三方库的一部分。 – Noel
所以你不能改变那个班级?在这种情况下,唯一可行的方法是设置属性(如果这是由图书馆开发人员提供的) – Steve