通用类作为基会导致 XAML 错误

2024-03-18

我有课程customer and product。他们的相似之处在于班级Base Record。然而,其中的类型Base Record总是取决于它是否是customer or product。因此,我有Base Record一般创建的。

立刻customer or product继承自Base Record,我在 WPF 项目中收到 XMAL 错误。不幸的是,我不知道为什么会这样,为什么我写在这里;)

基本记录头:

public abstract class BaseRecord<T> : Notify where T : class, new()

客户标题:

public class Customer : BaseRecord<Data_Layer.Customer>

XAML 错误:

   Unknown build error, 'Cannot resolve dependency to assembly 'Version=1.0.0.0,  Culture=neutral, PublicKeyToken=null' 
   because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on 
   demand through the ReflectionOnlyAssemblyResolve event.'

AND:

The tag 'CustomerAddWindow' does not exist in XML namespace 'clr-namespace:Business_Layer.Windows.Customer;assembly=Business_Layer'

如果我上课BaseRecord不是通用的,一切都按我想要的方式工作。

在 XAML 中,我实例化

<local:Customer x:Key="CustomerViewModel "/>

新年快乐。


XAML 不直接支持泛型。

有一些旨在解决这个问题的副项目,但我总是选择忍受它。它确实从未阻碍过我的应用程序架构。

我认为简单有效的解决方法是使用一个中间继承类来解决泛型问题。

例如,

public abstract class BaseRecord<T> : Notify where T : class, new()

public abstract class CustomerBase : BaseRecord<Data_Layer.Customer>

public class Customer : CustomerBase

我目前开发一个 WPF 应用程序,并且我的 XAML 中不需要任何泛型。

我的 xaml 代码隐藏中的代码为零。确实,由于一些自定义,我的基窗口类在所有与 UI 相关的背后都有代码。

如果您遵循MVVM通用的体系结构(可能是基本窗口中的属性)最有可能属于 ViewModel 类。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通用类作为基会导致 XAML 错误 的相关文章

随机推荐

  • Elasticsearch 使用 jest 通过查询删除[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我发现一个有趣的功能叫做通过查询删除 https www elastic co guide en el
  • 如何使用 python 从文本文件的行中读取特定字符?

    我有多个 txt 文件 其中包含与此类似的多行 class1 1 28 9 315 13 354227 2 36 247 17 342 8 34 14 3825 class2 14 31 8679 7 32 3582 2 32 4127 1
  • 组合常见搭配的 NLP 流程

    我有一个语料库 我在 R 中使用 tm 包 并且还在 python 中的 NLTK 中镜像相同的脚本 我正在使用一元组 但希望某种解析器能够将通常位于同一位置的单词组合成一个单词 即 我不想再在我的单词中分别看到 New 和 York 当它
  • Matlab 替换轴范围

    我的 x 轴从 0 到 96 其中每个数字代表一天中的一刻钟 96 4 24 小时 我需要轴来显示 0 到 24 小时 有没有办法在绘图后仅修改轴 您可以使用 gt gt set gca XTick 0 4 96 gt gt set gca
  • 如何将嵌套字典传递给 Flask 的 GET 请求处理程序

    我试图将嵌套字典作为参数传递给 GET 请求 该请求由 Flask 工作线程处理 整个设置是Nginx Gunicorn Flask 在客户端 我正在执行以下操作 import requests def find cabin party P
  • Numpy:了解行名称的 numpy 数组概念

    也许是一个非常模糊的问题 但是挖掘 numpy 上的链接对我没有帮助 我需要使用以下分层聚类对如下所示的二进制数组进行相似度矩阵计算 name val1 val2 val3 val4 val5 comp1 0 0 1 0 1 comp2 1
  • 使用PHP批量删除域共享联系人

    我正在使用 Google API PHP客户端库 v2 1 3 https github com google google api php client 我正在关注以下文档域共享联系人 https developers google co
  • 使 saxon-c 在 Python 中可用

    我刚刚读到 Saxon 现在可用于 Python 这非常有趣而且很好 但是任何人都可以写一篇关于如何使其可用于 Python Anaconda WingIDE 或类似的教程吗 我习惯于使用 pip 或 conda 安装 并指向一个包 轮子以
  • xcode 5 问题:“iOS 模拟器无法安装应用程序”

    我刚刚将我的 xcode 版本升级到 5 0 运行应用程序 2 3 次后 它给我这样的错误 iOS模拟器无法安装应用程序 这在旧的 xcode 中工作正常 当我重置模拟器时 它工作正常 但这一次又一次令人恼火 谁能告诉我真正的问题是什么 我
  • DateTimePicker 显示今天的日期而不是显示其实际值

    我们在表单上的自定义用户控件上有几个 DateTimePicker 它们是可见的 但未启用 仅用于显示目的 当加载 UserControl 时 DateTimePicker 会从来自 DataSet 的 DataRow 分配值 该 Data
  • 什么时候需要在 Ruby C 扩展中声明易失性值?

    我找不到太多关于何时适合声明的文档VALUE as volatileRuby 扩展中以避免过早对正在使用的对象进行垃圾回收 这是我到目前为止所学到的 有人可以填空吗 When volatile does not需要使用 在 C 对象成员中
  • 获取线程的输出

    您认为获取线程工作结果的最佳方式是什么 想象一个线程执行一些计算 如何警告主程序计算已完成 您可以每隔 X 毫秒轮询一些名为 作业完成 的公共变量或顺便说一句 但是您会收到比可用结果更晚的结果 主代码将浪费时间等待它们 另一方面 如果您使用
  • 如何从文件(即 SVG)创建 CGPath

    是否可以从给定文件创建 CGPath SVG 是首选 但任何东西都可以 袖珍SVG https github com arielelkin PocketSVG会将 SVG 文件转换为 UIBezierPath 从中您可以获得 CGPath
  • Mac OS X 上的 Heroku Local 和 PHP

    目前 除了始终在线的 apache 代理 php fpm 之外 我只使用额外的终端选项卡来手动启动工作进程和时钟进程 当我开始使用heroku时 我尝试了heroku local 但它的设置打败了我 现在我想再试一次 我在 High Sie
  • 在 Keras 中,LSTM 状态何时在 model.predict 调用中重置?

    该模型将 LSTM 作为第一层 当调用 model predict 时 假设您传递了几个样本 gt sam np array 5 6 3 6 6 3 5 6 3 gt model predict sam array 0 23589483 0
  • 为什么 ShutdownHookThread 'setDaemon true'

    我最近需要向我拥有的 Scala 应用程序添加一个关闭钩子 我发现 Scala 为此提供了一个帮助程序 称为关闭钩子线程 http www scala lang org api 2 9 0 index html scala sys Shut
  • 为什么我的 Office 365 OAuth2 刷新令牌总是很快过期?

    我知道 Office 365 刷新令牌会在用户更改密码时过期 但我发现我的客户几乎每周都会过期 在 Azure 中设置 OAuth2 应用程序时是否存在配置错误 通常 访问令牌持续 1 小时 刷新令牌持续 14 天 根据文件授权码授予流程
  • 异步读取进程输出时的延迟

    我正在使用 NET 和 C 启动一个进程并异步读取它的输出 我的问题是 在我的程序读取输出之前似乎存在延迟 如果我在命令行上运行可执行文件 则在它开始运行时立即有输出 但是 当我使用代码运行它时 在进程退出之前不会调用 ReadOutput
  • iOS 的 Libgdx 项目在模拟器上通过 robovm 编译时显示 libgdx 启动画面?

    如何删除出现在 iOS 模拟器上但未出现在 Android 模拟器中的 libgdx 启动画面 我正在通过 robovm 编译我的 libgdx 项目 Thanks 您将需要替换 RoboVM iOS 项目的 数据 文件夹中的各种 默认 图
  • 通用类作为基会导致 XAML 错误

    我有课程customer and product 他们的相似之处在于班级Base Record 然而 其中的类型Base Record总是取决于它是否是customer or product 因此 我有Base Record一般创建的 立刻