Bir yöntem bir nesne oluşturur ve ben başka bir nesneden yöntemini çağırın

5 Cevap php

Bir yöntem bir nesne oluşturur ve ben başka bir nesneden yöntemini çağırırsanız, son nesne ilk nesnenin özellikleri ve yöntemleri erişimi olacak?

5 Cevap

Size kafa karıştırıcı olabilir orada bazı gereksiz bilgiler var.

Yöntem, (bu durumda), nesne birbirinden kesilir. Yani soru, ikinci nesnesi erişimi olan bir kapsamda oluşturulan nesneyi depolamak, olur?

In Router, in a method, in an included file is the controller code. In the model and in the view, I need access to the Controller's properties and methods. In Router, in an other method, I want to return a controller object to the model and the view. What now??

Ben düzgün bir soruyu anlamak, MVC hakkında biraz karıştı. Router sınıf bir pasta iç sınıf ve hiç kesinlikle hiç değişti asla asla asla asla asla. Ve bu "never ever", hatta kopya yapıştırılan, onlar gerçekten yazıldığında değildir.

İkincisi, model sınıflar hatta denetleyici denilen şey bilmiyorum. Kontrolör uses modelleri, etrafında başka bir yol değil. Senin modeli bir denetleyici bir şey gerekiyorsa, bir parametre olarak geçmek. Bunun ötesinde bir şey sadece kötü bir tasarım.

Ayrıca, bir görünümden denetleyici eylemleri arayarak mümkün, ama kesinlikle önerilmez. Kontrolör bu nedenle denetleyici (bu istisnaları bu sorunun kapsamı dışında vardır) erişmek için hiçbir ihtiyacı vardır görüntülemek, bir görünüm için tüm verileri hazırlamak biridir.

Ben biraz about MVC, cake's typical request okumanızı öneririz, ve en az basic blog tutorial geçer.

Iade edilirse / bir yerde saklanır, kamu alanları ve yöntemleri erişilebilir olacaktır.

Yöntemi oluşturur nesnesine bir başvuru tutar sadece.

Edit: etiketleri değişikliğinin ışığında, bu sorunun cevabı artık geçerli değildir. Ben yorum korumak için bıraktım ...

Original Answer:

Bunun gibi mi?:

public MyObject CreateObject()
{
   return new MyObject() { FirstProperty = "Hello World" };
}

public Main()
{
    MyObject n = CreateObject();
    Console.WriteLine(n.FirstProperty);
}

Ya da bu:

class Program
{
    MyObject _myObject;

    public void CreateObject()
    {
        _myObject = new MyObject() { FirstProperty = "Hello World" };
    }

    public Main()
    {
        Console.WriteLine(_myObject.FirstProperty);
    }
}

Bu iki durumda da, emin olun size nesnenin özelliklerine erişebilirsiniz. Kastettiğin bu değilse, ben sorunuza cevap tam olarak nasıl emin değilim ve açıklamak gerekir.