gpt4 book ai didi

c# - 从泛型类型派生的类的 PostSharp 方面构建错误

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:37 25 4
gpt4 key购买 nike

我试图在类上使用 Dispatched 方面将执行推送到 UI 线程,但我在构建时遇到错误。这是错误:

You cannot add an aspect to a generic type instance. Add the aspect to the corresponding generic type definition.

我将方面放在派生自泛型类型的类上似乎有问题。

这是一个可以重现此问题的简化代码示例:

interface IView
{
}

class Presenter<T>
{
}

class DataPresenter : Presenter<IView>
{
[Dispatched]
void DoSomething()
{
}
}

我是不是遗漏了什么或者无法在从泛型类型继承的类上使用方面?

最佳答案

正如 Daniel 在评论中提到的,这是 PostSharp 中的一个错误,但我找到了解决方法。我修改了演示者类:

class Presenter<T> : DispatcherObject, IDispatcherObject
{
IDispatcher IDispatcherObject.Dispatcher => DispatcherFactory.GetDispatcherForWindowsDispatcher(Dispatcher);
}

在我的代码中,Presenter 已经继承自 DispatcherObject,因此实现 IDispatcherObject 接口(interface)解决了我的问题。

关于c# - 从泛型类型派生的类的 PostSharp 方面构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40313259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com