Roslyn 检查属性的类型

2023-12-12

我试图找出比较 Roslyn 中属性数据的正确方法。

static bool ResolveAttributes(IMethodSymbol methodSymbol)
{
    var attributes = methodSymbol.GetAttributes();

    return null == attributes.FirstOrDefault(attr => isIDEMessageAttribute(attr, typeof(MyAttributeType)));
}

static bool IsIDEMessageAttribute(AttributeData attribute, Type desiredAttributeType)
{
    //How can I check if the attribute is the type of desired?
}

如何检查属性是否是所需的类型?


AttributeData.AttributeClass为您提供该属性的 Roslyn 符号。但是您有一个要与之比较的 CLR 运行时类型。您可以只比较类型名称等,看看它们是否可能是相同的类型,或者获取 Roslyn 类型符号MyAttributeType,这是更正确的。这通常是通过以下方式完成的

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

Roslyn 检查属性的类型 的相关文章

  • 如何在 C++ 中的文件末尾添加数据?

    我已按照网上的说明进行操作 此代码应该将输入添加到文件 数据库 的末尾 但当我检查时 数据会覆盖现有数据 请帮忙 这是我的代码 int main string name string address string handphone cou
  • 使用 Unity 在构造函数中使用属性依赖注入

    好的 我在基类中定义了一个依赖属性 我尝试在其派生类的构造函数内部使用它 但这不起作用 该属性显示为 null Unity 在使用 container Resolve 解析实例后解析依赖属性 我的另一种选择是将 IUnityContaine
  • VB.NET 相当于 C# 属性简写吗?

    是否有与 C 等效的 VB NET public string FirstName get set 我知道你能做到 Public Property name As String Get Return name ToString End Ge
  • 向 Nhibernate 发出 SQL 查询

    如何将此 SQL 查询发送给 Nhibernate SELECT Customer name FROM Company INNER JOIN Customer ON Company CompanyId Customer CompanyId
  • 如何在 C# 中从 UNIX 纪元时间转换并考虑夏令时?

    我有一个从 unix 纪元时间转换为 NET DateTime 值的函数 public static DateTime FromUnixEpochTime double unixTime DateTime d new DateTime 19
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • XamlReader.Load 在后台线程中。是否可以?

    WPF 应用程序具有从单独的文件加载用户控件的操作 使用XamlReader Load method StreamReader mysr new StreamReader pathToFile DependencyObject rootOb
  • 如何从 .resx 文件条目获取注释

    资源文件中的字符串有名称 值和注释 The ResXResourceReader类让我可以访问名称和值 有办法看评论吗 你应该能够得到Comment via ResXDataNode class http msdn microsoft co
  • 使用 C 语言使用 strftime() 获取缩写时区

    我看过this https stackoverflow com questions 34408909 how to get abbreviated timezone and this https stackoverflow com ques
  • 无法在 Windows 运行时组件库的 UserControl 中创建依赖项属性

    我想在用户控件内创建数据可绑定属性 这个用户控件包含一个 Windows 运行时组件 项目 我使用下面的代码来创建属性 public MyItem CurrentItem get return MyItem GetValue Current
  • 关于在 Windows 上使用 WiFi Direct Api?

    我目前正在开发一个应用程序 我需要在其中创建链接 阅读 无线网络连接 在桌面应用程序 在 Windows 10 上 和平板电脑 Android 但无关紧要 之间 工作流程 按钮 gt 如果需要提升权限 gt 创建类似托管网络的 WiFi 网
  • Rx 中是否有与 Task.ContinueWith 运算符等效的操作?

    Rx 中是否有与 Task ContinueWith 运算符等效的操作 我正在将 Rx 与 Silverlight 一起使用 我正在使用 FromAsyncPattern 方法进行两个 Web 服务调用 并且我想这样做同步地 var o1
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • PlaySound 可在 Visual Studio 中运行,但不能在独立 exe 中运行

    我正在尝试使用 Visual Studio 在 C 中播放 wav 文件 我将文件 my wav 放入项目目录中并使用代码 PlaySound TEXT my wav NULL SND FILENAME SND SYNC 我按下播放按钮 或
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • 等待线程完成

    private void button1 Click object sender EventArgs e for int i 0 i lt 15 i Thread nova new Thread Method nova Start list
  • 如何对 Web Api 操作进行后调用?

    我创建了一个 Web API 操作 如下所示 HttpPost public void Load string siteName string providerName UserDetails userDetails implementat
  • .NET中的LinkedList是循环链表吗?

    我需要一个循环链表 所以我想知道是否LinkedList是循环链表吗 每当您想要移动列表中的 下一个 块时 以循环方式使用它的快速解决方案 current current Next current List First 电流在哪里Linke
  • 有没有办法强制显示工具提示?

    我有一个验证字段的方法 如果无法验证 该字段将被清除并标记为红色 我还希望在框上方弹出一个工具提示 并向用户显示该值无效的消息 有没有办法做到这一点 并且可以控制工具提示显示的时间 我怎样才能让它自己弹出而不是鼠标悬停时弹出 If the

随机推荐

  • 事件侦听器无法与 firebase 查询一起使用

    我正在尝试为我的 firebase 查询脚本创建一个事件侦听器 但它的行为有点奇怪 这是我的脚本 using System Collections Generic using UnityEngine using System Linq us
  • NSAllowsArbitraryLoadsInWebContent in CN1

    我正在尝试解决 Apple 对 Codename One 的 http 限制 根据 iOS Cocoa 密钥文档 NSAllowsArbitraryLoadsInWebContent 将按照以下说明在 iOS 10 上运行 仅适用于要加载的
  • 在 PostgreSQL 中创建数据库的副本

    在 pgAdmin 中将整个数据库 其结构和数据 复制到新数据库的正确方法是什么 Postgres 允许在创建新数据库时使用服务器上任何现有的数据库作为模板 我不确定 pgAdmin 是否为您提供了创建数据库对话框上的选项 但如果没有 您应
  • 使用 Node.js 从 Azure WebJob 轮询 Azure 服务总线队列

    尝试使用用 Node js 编写的 WebJob 轮询 Azure 服务总线队列 我创建了 2 个 WebJobs 第一个是按需的 并向队列发送 10 条唯一的消息 第二个作业是连续的 并轮询队列中的消息 遇到以下问题 轮询速度很慢 平均需
  • 无法添加窗口——token null 无效;您的活动正在运行吗?

    我想在用户单击浮动图标时显示自定义弹出菜单 浮动图标是通过服务创建的 但我没有任何活动 这是我的浮动图标代码 public class copy actions service extends Service ImageView copy
  • 如何构建 less 的特定于 Rhino 的版本?

    我想运行最新版本less来自Java 为此 我相信 我需要Rhino特定版本的less 来自更少的网站 每个 less js 版本还包含 rhino 兼容版本 但这似乎已经是not案子自 v1 7 5 起 所以我安装了 NPM 安装了 Gr
  • 我可以使用eclipse编写j2me代码吗?

    请问各位 在我下载eclipse之前 是否可以使用它来编译j2me代码 或者它仅用于android应用程序 我发现 netbeans 很难使用 我想知道 eclipse 是否更容易 我是新人 我需要帮助来开始编写 j2me 以及使用 net
  • 如何将自定义CSS文件添加到Sphinx?

    如何添加自定义 css 文件 以下配置不起作用 conf py html static path static html theme default html theme options cssfiles static style css
  • Android studio 3不搜索库依赖项

    My Android studio stopped searching for library dependencies I know that it s better and faster to add dependencies thro
  • Log4j Logger和Appender之间发生死锁

    我正在使用 LogAppender 类 它扩展了 Console Appender 并在日志级别为 ERROR 时在内部使用 Sendmail 函数发送邮件 我知道我可以使用 SMPT 附加程序进行邮件发送 但这就是基础设施的样子 所以请避
  • .NET Core Identity Server 4 身份验证 VS 身份验证

    我试图了解在 ASP NET Core 中进行身份验证的正确方法 我查看了一些资源 其中大部分已经过时 Microsoft 身份的简单实现 ASP Core 身份验证简介 MSDN 身份简介 有些人提供替代解决方案 声称使用基于云的解决方案
  • BroadcastReceiver (TIME_TICK) 每晚都会死掉?

    我想为体育网络服务编写某种后台实时报价应用程序 我希望我的应用程序能够始终调用 TIME TICK 顺便说一句 我也尝试使用 AlarmManager 但问题是一样的 但现在我的问题 我使用带有服务的接收器作为执行部分 注册后每分钟都会正确
  • 从 Classic ASP 将数据导出到 Excel 文件失败

    我正在尝试将记录集导出到 Excel 但它在生产服务器上似乎一直失败 然而 它似乎在我的开发工作站上运行得很好 我想知道我适合与服务器相关的问题 但我有其他应用程序可以使用相同的确切代码 相似的代码相同的设置很好地导出
  • 将 C 程序迁移到 Android NDK

    我是 C C 和 Android NDK 的初学者 在尝试创建本机库时遇到问题 我的代码在 CDT 上使用 MinGW 进行编译 但是当我在 JNI 文件上编写相同的代码时 出现错误 我的代码是 int n 7 int positions
  • EF Core 中的 IsNumeric

    EF Core 中是否有相当于 IsNumeric 的功能 或者使用 linq 或 Dynamic Sql 或类似功能 我试图从 nvarchar 列中仅获取具有数值的行 现在它已添加到 EF Core 中 看起来它是 EF Core 6
  • C# 中 UTC 日期/时间字符串的转换

    我需要转换字符串 Fri Sep 11 00 00 00 GMT 04 00 2020 into a DateTime object 11 09 2011 当我使用 DateTime result DateTime TryParseExac
  • 字符常量对于其类型来说太长

    我想尝试制作一个基于文本的游戏 但对于 item2 item6 它说 多字符字符常量 字符常量对其类型来说太长 从 int 到 char 的隐式转换会将值从 175174007 更改为 103 include
  • 如何自动保持 2 个 git 存储库同步

    有 2 台服务器 应始终保持同步 当有人将某些内容推送到服务器 A 的存储库时 服务器 B 上的存储库应该自动更新 具体取决于哪个服务器是主 从服务器 两台服务器不在同一台机器上 是否可以在每次更新时无需运行额外的手动命令 git fetc
  • 将字符串转换为 NSDate 的正确方法?(iphone)

    在我的应用程序中 我将日期存储为字符串 MM dd YYYY 格式 在数据库中 稍后 当我检索字符串时 我必须比较两个日期 如何实现这一目标 如果我使用 YYYY MM dd 格式 我可以直接将其作为字符串进行比较 现在我必须使用 nsda
  • Roslyn 检查属性的类型

    我试图找出比较 Roslyn 中属性数据的正确方法 static bool ResolveAttributes IMethodSymbol methodSymbol var attributes methodSymbol GetAttrib