0
경로가 특정 필요 또는 패턴과 일치하면 코드의 특정 부분을 실행하려고합니다. 다른 플러그인에서 몇 가지 경로를 가져 오는데,이 플러그인을 통해 검색하여 내 의도에 유용하거나 그렇지 않은 것으로 분류됩니다.Linq 표현 혼동과 실행이 결합 된 경우
생각이 일단 그 pathes에서 일치 얻을,이 클래스의 인스턴스를 만들고 그것을 view
반환하는 메서드를 호출 할 수 있습니다.
위임자를 전달하고 적절한 코드를 호출 할 수있을만큼 충분히 알아낼 수는 있지만 여전히 클래스에 대한 포인터를 보유하고 있습니다. 원하는 것은 아닙니다. 이 클래스의 인스턴스를 만들고 원하는 메서드를 호출하고 싶습니다. 내가 여기에 경로를 사용하는 아마해야 느낌, 또는 아마도 식을 가지고
public class TestView : IView
{
public void Render(ViewContext viewContext, System.IO.TextWriter writer) {}
}
class TestViewCreator
{
public IView CreateView(object Arguments)
{
return new TestView();
}
}
public class CentralStash
{
// T = TestViewCreator
// How do I describe the method I want to call (CreateView)?
public void RegisterPath<T>(string url, object Arguements)
{
}
public IView GetView(string url)
{
var viewCreator = ObjectFactory.GetInstance<T>();
//How do I call the method description on the type that I have jsut instanced?
return null;
}
}
: 여기
는 윤곽입니까? 나는 이것이 대리인들과 할 수 있다는 것을 알고 있지만 포인터 때문에 몇몇 객체를 놓기를 원하지 않는다.올바른 방향으로 조금 움직여 주시면 감사하겠습니다.
업데이트 :
난 그냥 인터페이스를 만들 수 나오긴의:
public interface IViewCreator
{
public IView CreateView(object Arguments);
}
그리고 CreateView
전화 중 하나를 만들 수 있지만이 더 강력하게 기대했다.
대리인을 전달하는 것이 훨씬 더 좋습니다. 객체 인수 param이 필요 없습니다. 그리고 대의원 간접비? 그렇다면 문자열을 전달하고 매개 변수를 입력하고 저장하면 개체가 남아있게됩니다. – MichaelGG
이 말은별로 의미가 없습니다 ... 편집하면 내가 대답 할 수 있습니다. –