我正在使用第三方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