[英]a method creates an object and I call the method from an other object
如果一個方法創建了一個對象,而我又從另一個對象調用了該方法,那么最后一個對象是否可以訪問第一個對象的屬性和方法?
那里有些無關緊要的信息可能會使您感到困惑。
方法和對象(在這種情況下)彼此斷開。 因此問題就來了,您是否將創建的對象存儲在第二個對象可以訪問的作用域中?
在路由器中,在一種方法中,包含的文件中是控制器代碼。 在模型和視圖中,我需要訪問Controller的屬性和方法。 在Router中,通過另一種方法,我想將控制器對象返回到模型和視圖。 現在怎么辦??
如果我正確理解了這個問題,那么您會對MVC感到困惑。 路由器類是一個小巧的內部類,永遠不要永遠不要永遠不要絕對不要改變它。 那些“ 從不 ”甚至沒有被復制粘貼,它們是真正的鍵入。
其次,模型類甚至都不知道稱為控制器的任何東西。 控制器使用模型,而不是相反。 如果您的模型需要控制器提供的東西,請將其作為參數傳遞。 除此之外,還只是不好的設計。
同樣,可以從視圖調用控制器動作,但是強烈建議不要這樣做。 控制器是為視圖准備所有數據的控制器,因此視圖無需訪問控制器(對此存在一些例外,超出了本問題的范圍)。
我建議您閱讀有關MVC ( cake的典型請求)的一些知識 ,並且至少閱讀基礎博客教程 。
如果將它退回/存儲在某個地方,則可以訪問公共字段和方法。
編輯:鑒於標簽的更改,此答案不再相關。 我將其保留以保留評論...
原始答案:
像這樣?:
public MyObject CreateObject()
{
return new MyObject() { FirstProperty = "Hello World" };
}
public Main()
{
MyObject n = CreateObject();
Console.WriteLine(n.FirstProperty);
}
或這個?:
class Program
{
MyObject _myObject;
public void CreateObject()
{
_myObject = new MyObject() { FirstProperty = "Hello World" };
}
public Main()
{
Console.WriteLine(_myObject.FirstProperty);
}
}
在這兩種情況下,請確保您可以訪問對象的屬性。 如果這不是您的意思,那么我不確定如何回答您的問題,您需要進行澄清。
僅當該方法保留對其創建的對象的引用時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.