为什么我不能使用 Guid 作为泛型类型约束?

2023-12-30

我有如下通用方法,我想将 T 限制为仅 Guid 类型,如下所示:

public static EntityFindApiResponse EntityFind<T>(
    Credential cred, EntitiesApiClient entitiesApiClient, string clrType, 
    string propertyName, T searchKey)
    where T: Guid
{
    // ...
}

编译器告诉我

“System.Guid”不是有效的约束。用作约束的类型必须是接口、非密封类或类型参数。

那么,为什么这不起作用呢?


首先,事实证明Guid is a struct。您不能将通用约束设置为struct因为structs 不能派生自(意味着您不能从struct).

更进一步说where T: Guid真正读作“其中 T 的类型Guid或派生自的类型Guid“并且由于没有任何东西可以从struct,这就像说“其中 T 属于 Guid 类型”,这从一开始就违背了泛型的目的。

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

为什么我不能使用 Guid 作为泛型类型约束? 的相关文章

  • 将扩展方法应用于具有泛型类型的泛型类

    我正在使用 vb net 中的通用类 而且如果不指定类型 扩展方法似乎无法应用于泛型类 我有这个通用类 Public Class MyGeneric Of T Methods and properties go here End Class
  • 将 Google 云端硬盘访问权限委派给服务帐户失败

    我参与构建了一个内部使用的应用程序 用户可以通过该应用程序上传文件 并将其存储在 Google Drive 中 由于建议不要使用服务帐户作为文件所有者 因此我希望代表公司系统管理员有权访问的指定用户帐户上传应用程序 我已经创建了该应用程序以
  • 从 WatchOS 捕获 Apple Watch 的型号标识符

    似乎没有任何记录的官方方法可以从手表应用程序获取 Apple Watch 模型 但有一篇文章显示了特殊用途sysctlbyname 如何确定Apple Watch型号 https stackoverflow com questions 49
  • 在 Windows 应用商店应用程序 (Win 8.1) 中使用 MIDI

    我的目标是在 Windows 应用商店应用程序中接收 MIDI 消息 微软提供了一个名为Microsoft WindowsPreview MidiRT 作为 nuget 包 我设法获得了 MIDI 端口 但是MessageReceived尽
  • boost::noncopyable 是如何工作的

    我在 C 实践中偶然发现了两个愚蠢的问题 据我所知 c 中的复制构造函数和赋值运算符不是继承的 那么 boost noncopyable 在这种情况下如何帮助禁止这些东西呢 class X private boost noncopyable
  • 共享库 C++ Makefile

    我需要编译胖二进制文件才能在另一台 Linux 机器上使用它 但缺少一些库 因此据我了解 我应该使用一些 shared 选项来编译它 但我不明白如何为此配置 Makefile 目前我的 makefile 如下所示 CC g CC FLAGS
  • 如何正确使用memcpy?

    我有一个mainbuf bufsize 最初为空 我正在阅读一些输入 read fd otherbuf sizeof otherbuf 分配给不同的字符串otherbuf 每次我分配一个新字符串给otherbuf我想将其附加到mainbuf
  • 在 C 中使用模板函数的最短示例?

    我如何处理函数echo tpl可以采取1类型参数int or string 然后打印出来 C没有模板 我认为你能做的最好的事情就是使用联合或让函数具有不同的名称 后一种具有不同名称的方法是准标准方法 例如fabs fabsf fabsl a
  • C++ 局部变量销毁顺序

    C 11 中是否存在局部变量释放的定义顺序 更简洁地说 同一作用域中两个局部变量的析构函数的副作用将以什么顺序变得可见 e g struct X X do something int main X x1 X x2 return 0 Is x
  • 无符号长十六进制表示

    include
  • 网页上的富文本编辑器

    我正在尝试在我的网页中添加一个富文本编辑器 用户可以在其中撰写评论并格式化他们所写的内容 类似于我们在此网站上撰写帖子的编辑器 谁能指出我关于此的正确方向 任何可以帮助我构建这样一个组件的教程 我还想要一个免费的产品 忘记之前提到 类似的东
  • Microsoft Build Tools 2013 缺少 v120 目录

    我们已经安装了 Microsoft Build Tools 2013 从http www microsoft com en us download details aspx id 40760 http www microsoft com e
  • 运行 SQL Server 报告服务时如何解决“远程服务器返回错误:(401) 未经授权”?

    我正在用这个code http www codeproject com Articles 25994 Creating a Proxy to Download PDF Reports from SRS从 SSRS 创建和下载 PDF 报告
  • 使用 C# winforms 与 Windows 中的其他桌面应用程序交互

    我想知道是否可以与使用我的程序的其他程序进行交互 例如 单击另一个程序上的按钮等 我不确定这是否可能 但如果可能的话 有人可以提供一些 C 示例代码 Thanks 您可以创建消息并将其发送到其他进程 为此 您必须在 C 代码中使用 P In
  • 传递给 WCF 服务的可选查询字符串参数

    我想知道如何使用 string limit WebOperationContext Current IncomingRequest UriTemplateMatch QueryParameters Limit 在我的wcf中这个方法 Cit
  • 如何使用 Dictionary 属性序列化对象?

    在下面的示例代码中 我得到了这个error 元素 TestSerializeDictionary123 Customer CustomProperties 呕吐型 System Collections Generic Dictionary
  • 如何在C++中动态调用函数

    除了 boost Bind Function 之外 我如何在 C 中动态调用函数 PHP has obj new MyObject function doSomething obj gt function Objective C 有 MyO
  • 如何获取字典元素的相对位置?

    我有下一个 C 代码 Dictionary
  • 着色器可以旋转形状以面向相机吗?

    我制作了一个球出现在 3D 空间中的场景 三角球耗费大量资源 所以我使用带有球纹理的二维表面 四边形 来完成此操作 但现在我需要在每次相机移动时调整形状的方向 我使用位置变换和 LookAt 方法来完成此操作 问题是我可以优化这个吗 如果可
  • 在字典和集合上自动添加索引器是一个好的设计决策吗?

    索引器何时可以自动将项目添加到集合 字典中 这是合理的还是违反最佳实践的 public class I snip public class D Dictionary

随机推荐

  • mysql/sqlserver 中截断与删除的比较[重复]

    这个问题在这里已经有答案了 关于 mysql sql 服务器的一件事一直困扰着我 即删除 截断 哪一个更好更快 在哪里使用删除 在哪里使用截断 DELETE DELETE 是一个 DML 命令 DELETE 语句使用行锁执行 表中的每一行都
  • Hive:如何显示表的所有分区?

    我有一个包含 1000 多个分区的表 Show partitions 命令仅列出少量分区 如何显示所有分区 Update 我发现 show partitions 命令仅列出 500 个分区 select where 仅处理 500 个分区
  • Numpy: arr[...,0,:] 有效。但是如何存储切片命令 (..., 0, :) 中包含的数据呢?

    在 Numpy 我想通常是 Python 中 如何存储切片索引 例如 0 以便传递它并将其应用于各种数组 比如说 如果能够在函数之间传递切片索引 那就太好了 Python 根据切片语法创建特殊对象 但仅在方括号内用于索引 您可以手动创建这些
  • 生成随机字符串

    好吧 我知道有很多这样的线程 但我对 vb net 很陌生 但我无法编辑给出的源代码来制作我真正想要的内容 所以我想要一个函数 它将生成随机字符串 每个字符串包含 15 32 个字符 每个字符串将具有以下字符 并非全部在同一字符串 但其中一
  • 如何使用clients2.google.com 下载CRX?

    上周我遇到了一些困难 我已经能够使用以下链接格式使用 Chrome 商店中列出的扩展名的 ID 下载 crx 文件 现在 最近几周发布到 chrome 商店的任何新 chrome 扩展程序都将无法使用 它不会下载任何东西 使用fiddler
  • 确保用户发布的博客评论安全

    我正在我的网站上创建博客引擎 没有什么花哨 用户将注册一些基本信息 包括评论本身 即该问题的问题 在评论字段中 用户可以编写一些文本 但目前没有什么可以阻止他在那里编写任何有害的内容 这会在使用评论渲染页面时弄乱页面 所以我想知道完成这三个
  • Mat-checkbox 已选中但不更改复选框状态

    我正在实现一个语言切换组件 它显示复选框 一个用于应用程序的每种语言 翻译为 ngx translate 单击其中一个复选框时 应用程序语言已正确切换 但单击的 mat checkbox 仍未选中 模板
  • 使用 as.Date 格式化月份缩写[重复]

    这个问题在这里已经有答案了 我正在处理每月数据 并有一个日期字符向量 格式如下 Sep 2012 Aug 2012 Jul 2012 等等 回到 1981 年 我尝试过使用 as Date dates b Y where b代表月份缩写 但
  • 使用集成 Windows 身份验证时提示输入登录详细信息

    对于 ASP NET 应用程序 使用集成 Windows 身份验证时如何提示用户输入用户名 密码 我想在页面后面的代码中使用 C 来执行此操作 我想要一些页面 例如http 内网 admin http intranet admin 提示输入
  • iPhone 的 PhoneGap 数据库应用有什么要求?

    我想创建一个访问数据库的简单应用程序 Does PhoneGap它的框架中有这个功能吗 它使用哪种数据库技术 MySQL 有数据库吗 为 iPhone 开发 PhoneGap 数据库应用程序有哪些要求 数据库 Sqlite 数据库 直接嵌入
  • 如何计算java中相同(PALINDROME)的单词数

    我是一名 Java 开发新手 我想用Java编写代码来计算段落中回文词的数量 假设是 用户可以输入包含尽可能多的句子的段落 每个单词之间以空格分隔 每个句子之间以句点分隔 单词前后的标点符号将被忽略 而单词内部的标点符号将被计算在内 输入示
  • Python:从类B中的类A调用方法A?

    有很多与此类似的问题 但没有一个答案能切中要害 所以请耐心等待 我正在尽最大努力使用 Python 学习 OOP 但我不断遇到错误 比如这个 这让我觉得这一切都是毫无意义的 只使用方法会更容易 这是我的代码 class TheGUI wx
  • 在数字海洋上部署的 laravel 网站显示空白屏幕并尝试通过 https 加载 css 和 js 文件

    我在这里完成了关于部署 laravel 应用程序的教程之一https www techalyst com posts laravel hosting with digital ocean droplet step by step tutor
  • 如何使用 guizero 在 python 中知道 Tic Tac Toe 中谁是获胜者

    我创建了一个名为 Tic Tac Toe 的游戏 有 2 位玩家 其中一位是 X 其中一位是 O 您所要做的就是将您的符号 3 连成一排 而其他人不会阻挡您 游戏的 GUI 如下所示 Code from guizero import App
  • 在 ubuntu 中使用 headless chrome 打印 PDF

    我正在尝试使用 chrome headless 和以下命令行在 ubuntu 中打印 pdf google chrome headless disable gpu print to pdf gen2 pdf file home user D
  • Java 异常从资源 .wav 读取流

    我想我的代码没问题 我的 jar 文件里面的 wav 没问题 但是当我尝试使用 getResourceAsStream 加载它时 出现错误 这是我的错误 java io IOException mark reset not supporte
  • XML 中的未知属性警告

    AndroidManifest 和 XML 布局向我展示了Unknown attribute android 即使属性存在并且应用程序在设备上运行 也会发出警告 例子 Unknown attribute android maxSdkVers
  • 适用于 Java 的小型、简约且快速的 XML 库?

    有时我需要解析 XML 文件 并且仅解析 并且我不想通过手动执行此操作String indexOf 所以我的需要是使用可能最小且快速的 XML 解析库 不幸的是 我不知道类似的事情GSON 180kb 我已经导入了dom4j 但之后我遇到了
  • Angular2/JavaScript - 在(点击)上增加/减少 1

    我想在用户按下添加按钮时递增 递减 然后相应地更新金额值 我尝试过几次 但不幸的是我没有成功 这是代码 addToCart this amount 1 addItem this amount console log plus is this
  • 为什么我不能使用 Guid 作为泛型类型约束?

    我有如下通用方法 我想将 T 限制为仅 Guid 类型 如下所示 public static EntityFindApiResponse EntityFind