- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
情况:我有一个接口(interface),比如
public interface ITestClass
{
string StringElement { get; }
}
它有一个实现:
public class TestClassImplementor :
ITestClass
{
public string StringElement
{
get { return "AAA"; }
}
}
我确实有一个创建实现实例的工厂:
public class TestClassFactory
{
public ITestClass Create()
{
return new TestClassImplementor();
}
}
我希望能够使用 CaSTLe Windsor 配置文件 (XML) 解析实现,但同时不为接口(interface)配置实现。
为什么需要这个:解析(网络)服务。我确实有一个(网络)服务接口(interface),但我不访问实现,因为它在另一个组件上。我希望能够简单地键入 MyCastleUtility.Resolve<ITestClass>()
并获得准备好的网络服务。我想使用 CaSTLe Windsor 配置文件 (XML) 来配置我尝试访问的服务。
问题:如果我不能访问实现,我就不能在配置文件中配置它。
到目前为止我尝试过的:1) 工厂。
<component id="mycompfactory"
type="MyTestProject.TestClassFactory, MyTestProject"/>
<component id="mycomp"
type="MyTestProject.ITestClass, MyTestProject"
factoryId="mycompfactory" factoryCreate="Create" />
我确实得到了:CaSTLe.MicroKernel.ComponentRegistrationException:类型 MyTestProject.INewTestClass 是抽象的。因此,不可能将其实例化为 MyTestProject.INewTestClass 服务的实现
2) 代理。当试图找到一种方法来配置“必须为‘ITestClass’接口(interface)创建代理”时碰壁了。
目标:配置 CaSTLe Windsor 以创建接口(interface)实现,而无需直接访问实现接口(interface)的类。
非常感谢您的帮助,明道加斯
最佳答案
对于工厂方法:
您是否还在配置中配置了 FactoryFacility?
在你的“mycomp”中,我认为你想使用“服务”而不是“类型”:
<component id="mycomp" service="MyTestProject.ITestClass, MyTestProject" factoryId="mycompfactory" factoryCreate="Create" />
关于c# - 温莎城堡 : XML Configuration for Dynamic Proxy without a Target,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3465646/
所以我目前有一个主 DAO 类 ITrackingToolDAO,它包含我的每个业务实体的所有服务契约(Contract)。 public partial interface ITrackingToo
您好,已将以下组件注册到 CaSTLe Windsor 中: public class CommandDispatcher : IServiceCommandDispatcher { priv
我刚刚下载了动态对象框架Clay我遇到了关于 castle project 的问题版本。 Clay 使用“城堡”v2.0 的功能,而我有一个项目已经开始引用 v2.5。不用说只是为了让事情更有趣,我是
我在将 CaSTLe Windsor Controller Factory 与新的 RenderAction 方法结合使用时遇到了问题。我收到以下错误消息: Controller “MyControl
我试图让 Windsor 为每个请求提供一个实例 ISession,它应该被注入(inject)到所有存储库中 这是我的容器设置 container.AddFacility().Register(
我一直在尝试配置 Windsor 以根据正在构建的类为服务提供不同的实现: 我读过这个 http://docs.castleproject.org/Windsor.Registering-compon
我正在查看 ProDiner 示例 MVC 项目。我将 CaSTLe Windsor 引用从 2 更新为 3。 public static void RegisterAllFromAssemblies
我们在 Windsor 容器上使用 NoTrackingReleasePolicy,因为当我们在使用后不释放我们的组件时会发生内存泄漏。现在考虑以下问题。 一些一次性组件: public class
我是一名优秀的程序员,十分优秀!