Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将TinyIoC与MonoTouch+;故事板-在哪里建立?_C#_Ios_Dependency Injection_Xamarin.ios_Inversion Of Control - Fatal编程技术网

C# 将TinyIoC与MonoTouch+;故事板-在哪里建立?

C# 将TinyIoC与MonoTouch+;故事板-在哪里建立?,c#,ios,dependency-injection,xamarin.ios,inversion-of-control,C#,Ios,Dependency Injection,Xamarin.ios,Inversion Of Control,我试图使用TinyIoC在MonoTouch中使用依赖注入,但是我似乎不知道应该在哪里注册,以及在控制器中注入服务的构建(这是正确的术语吗?) 我创建了一个新的MonoTouch故事板项目,查看了所有文件,但找不到实例化控制器的代码 我已经尝试在我的AppDelegate上创建一个构造函数,并在那里进行类型注册,然后是container.build(这个)在我的控制器的构造函数中。然而,我有一种感觉,这是错误的 我该怎么做呢?我觉得你的方法是对的 不过,我会将注册移到您的AppDelegate中

我试图使用TinyIoC在MonoTouch中使用依赖注入,但是我似乎不知道应该在哪里注册,以及在控制器中注入服务的构建(这是正确的术语吗?)

我创建了一个新的MonoTouch故事板项目,查看了所有文件,但找不到实例化控制器的代码

我已经尝试在我的
AppDelegate
上创建一个构造函数,并在那里进行类型注册,然后是
container.build(这个)在我的控制器的构造函数中。然而,我有一种感觉,这是错误的


我该怎么做呢?

我觉得你的方法是对的

不过,我会将注册移到您的
AppDelegate
中的
DidFinishLaunching

故事板的问题是所有控制器都是从Objective-C创建的,这就是为什么要使用
IntPtr
构造函数。实际上,控制器的构造函数是调用
build
的唯一好地方

你现在的工作方式有什么问题吗


另一个选择是使用不同类型的容器,我似乎更喜欢一个更简单的容器(甚至比TinyIoC还要简单)。这是我写的一篇文章。

我觉得你的方法很正确

不过,我会将注册移到您的
AppDelegate
中的
DidFinishLaunching

故事板的问题是所有控制器都是从Objective-C创建的,这就是为什么要使用
IntPtr
构造函数。实际上,控制器的构造函数是调用
build
的唯一好地方

你现在的工作方式有什么问题吗


另一个选择是使用不同类型的容器,我似乎更喜欢一个更简单的容器(甚至比TinyIoC还要简单)。是我写的。

Small world,我在Xamarin论坛上读过你的帖子:)-我尝试的第一件事是在DidFinishLaunching中进行注册,但由于控制器在调用该方法之前实例化,所以它基本上是在注册任何东西之前进行构建的。-是的,这样做效果非常好,我们只是在寻找一些“最佳实践”。我用一个Dependency属性修改了TinyIoC,所以只有我选择的属性才能被它处理。是的,在
AppDelegate
中使用构造函数可能是你必须放置它的地方。另一个选项是在
static void Main()
中,但我不知道这是好是坏。总的来说,我认为你的方法很好。太好了,这就是我想要的!谢谢小世界,我在Xamarin论坛上读过你的帖子:)-我尝试的第一件事是在DidFinishLaunching中进行注册,但是这不起作用,因为在调用该方法之前控制器被实例化,所以它基本上在注册任何东西之前进行了构建。-是的,这样做非常好,我只是在寻找一些“最佳实践”。我用一个Dependency属性修改了TinyIoC,所以只有我选择的属性才能被它处理。是的,在
AppDelegate
中使用构造函数可能是你必须放置它的地方。另一个选项是在
static void Main()
中,但我不知道这是好是坏。总的来说,我认为你的方法很好。太好了,这就是我想要的!谢谢