从基础实体查找属性的使用情况

2023-12-04

我试图在属性属于基类的类中找到该属性的用法。这是一个令牌示例:

class Program
{
    class Item
    {
        public DateTime DeletedStamp { get; set; }

        public decimal Price { get; set; }
    }

    class Book : Item
    {
        public string Title { get; set; }

        public string Author { get; set; }
    }

    class Bicycle : Item
    {
        public string Type { get; set; }

        public string Producer { get; set; }
    }

    static void Main(string[] args)
    {
        var book = new Book()
        {
            Title = "Atlas Shrugged",
            Author = "Ayn Rand",
            Price = 2.99M
        };

        var bicycle = new Bicycle()
        {
            Type = "Mountain bike",
            Price = 499.99M,
            Producer = "Biker Ben",
            DeletedStamp = DateTime.Now
        };

        Console.WriteLine(book.Title);
        Console.WriteLine(book.Price);

        Console.WriteLine(bicycle.Price);
        Console.WriteLine(bicycle.DeletedStamp);
    }
}

如果我想找到的用法Price只在自行车项目上我发现我运气不好。我在 Visual Studio 2013 中使用 re-sharper,“查找用法”可查找 Price 的所有用法,包括 Book 中的用法。 这是一个小例子,但由于基类在许多其他类中使用,因此无法跟踪其用法。

我正在寻找任何技巧、技巧、扩展或魔法来解决这个困境。


对于这种情况,ReSharper 的 SRP(搜索并替换为模式)非常有用。

菜单 Resharper->查找->使用模式搜索...

在此定义以下模式:

$Item$.Price

of 仅用于写入用途:

$Item$.Price = $exp$;

或仅用于读取用途:

$exp$ = $Item$.Price

where $Item$应该是表达式占位符,选择类型“自行车” 并且不要忘记检查“正是这种类型”。

$exp$ 可以保持未定义状态

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

从基础实体查找属性的使用情况 的相关文章

  • 查找哪些页面不再与写入时复制共享

    假设我在 Linux 中有一个进程 我从中fork 另一个相同的过程 后forking 因为原始进程将开始写入内存 Linux写时复制机制将为进程提供与分叉进程使用的不同的唯一物理内存页 在执行的某个时刻 我如何知道原始进程的哪些页面已被写
  • 进程何时获得 SIGABRT(信号 6)?

    C 中进程获得 SIGABRT 的场景有哪些 该信号是否始终来自进程内部 或者该信号可以从一个进程发送到另一个进程吗 有没有办法识别哪个进程正在发送该信号 abort 向调用进程发送SIGABRT信号 就是这样abort 基本上有效 abo
  • 迭代变量并查找特定类型实例的技术

    我想迭代进程中内存中的变量 通过插件动态加载 并查找特定类型的实例 以前我可以找到特定类型 或内存中的所有类型 我可以创建类型的实例 我可以获取作为不同类型的字段包含的实例 但我无论如何都不知道只是 搜索 特定类型的实例 一种方法是使用 W
  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 为什么大多数 C 开发人员使用 Define 而不是 const? [复制]

    这个问题在这里已经有答案了 在许多程序中 define与常量具有相同的用途 例如 define FIELD WIDTH 10 const int fieldWidth 10 我通常认为第一种形式优于另一种形式 它依赖于预处理器来处理基本上是
  • 向 ExpandoObject 添加方法时,“关键字 'this' 在静态属性、静态方法或静态字段初始值设定项中无效”

    我尝试向 ExpandoObject 添加一个动态方法 该方法将返回属性 动态添加 给它 但它总是给我错误 我在这里做错了什么吗 using System using System Collections Generic using Sys
  • C++:重写已弃用的虚拟方法时出现弃用警告

    我有一个纯虚拟类 它有一个纯虚拟方法 应该是const 但不幸的是不是 该接口位于库中 并且该类由单独项目中的其他几个类继承 我正在尝试使用这个方法const不会破坏兼容性 至少在一段时间内 但我找不到在非常量方法重载时产生警告的方法 以下
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • 从多个类访问串行端口

    我正在尝试使用串行端口在 arduino 和 C 程序之间进行通信 我对 C 编程有点陌生 该程序有多种用户控制形式 每一个都需要访问串口来发送数据 我需要做的就是从每个类的主窗体中写入串行端口 我了解如何设置和写入串行端口 这是我的 Fo
  • 检查算术运算中的溢出情况[重复]

    这个问题在这里已经有答案了 可能的重复 检测 C C 中整数溢出的最佳方法 https stackoverflow com questions 199333 best way to detect integer overflow in c
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 获取 2 个数据集 c# 中的差异

    我正在编写一个简短的算法 它必须比较两个数据集 以便可以进一步处理两者之间的差异 我尝试通过合并这两个数据集并将结果更改放入新的数据集来实现此目标 我的方法如下所示 private DataSet ComputateDiff DataSet
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • 什么是 __declspec 以及何时需要使用它?

    我见过这样的例子 declspec在我正在阅读的代码中 它是什么 我什么时候需要使用这个构造 这是 Microsoft 对 C 语言的特定扩展 它允许您使用存储类信息来赋予类型或函数属性 文档 declspec C https learn
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • 我在在线程序挑战编译器中遇到演示错误

    include
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 使用 Crypto++ 获取 ECDSA 签名

    我必须使用 Crypto 在变量中获取 ECDSA 签名 我在启动 SignMessage 后尝试获取它 但签名为空 我怎样才能得到它 你看过 Crypto wiki 吗 上面有很多东西椭圆曲线数字签名算法 http www cryptop
  • 是否可以在 C# 中强制接口实现为虚拟?

    我今天遇到了一个问题 试图重写尚未声明为虚拟的接口方法的实现 在这种情况下 我无法更改接口或基本实现 而必须尝试其他方法 但我想知道是否有一种方法可以强制类使用虚拟方法实现接口 Example interface IBuilder

随机推荐

  • 如何在 StartupTask 中为可执行文件指定参数

    当桌面应用程序设置为在启动时运行时 它们通常会最小化到系统托盘 实现此行为的常见方法是在向启动文件夹或注册表添加快捷方式时为可执行文件指定一个特殊参数 MyApp exe startminimized 我在转换后的桌面应用程序中需要同样的东
  • 使用 JSON 从 AJAX 和 JQuery 调用简单的 Web 服务(.asmx 文件) - 解析错误

    迈出尝试一起使用所有这些技术的第一步 我遇到了一些麻烦 这是我的服务器端 WebMethod EnableSession true ScriptMethod ResponseFormat ResponseFormat Json public
  • MySQL:对多个字段进行分组和计数

    如果我有一个字段 例如 project id 我想计算出现次数 我会这样做 select project id count project id as count from tbl group by project id order by
  • Maven:运行 Maven 时打开 zip 文件时出错

    ERROR error error reading C Users suresh m2 repository org jdom jdom 1 1 jdom 1 1 jar error in opening zip file ERROR er
  • Windows 上的 Cython 内存视图

    当尝试在 Windows 上使用 Cython 时 基于 Anaconda 的安装 使用 TDM GCC 因为我需要 OpenMP 支持 我在使用类型化内存视图时遇到了错误 test1 pyx def test int x pass tes
  • 在 PuLP 中添加逻辑约束

    我正在尝试在钢中添加合金 以便以最小的成本将钢的碳含量提高到一定范围 但一个限制是 在现实生活中 机器只能添加至少 50 公斤的合金 因此 如果我们添加某种合金 那么它可以是 50 60 70 千克等 如果我们不添加该特定合金 则可以是 0
  • 将 Interaction.Triggers 设置为 ListBoxItem

    我已将 Interaction Triggers 设置为 ListBox 并在发生 SelectionChanged 事件时执行相应的 TargetedTriggerAction 如下所示
  • 如果私有变量已经是私有的,我应该将它们标记为私有吗?

    据我所知 在 C 中 如果没有另外标记 所有字段默认都是私有的 class Foo private string bar class Foo string bar 我想这两个声明是相等的 所以我的问题是 我应该将私有变量标记为什么priva
  • 数组作为数组[n]和指针数组*

    根据下面的示例 将数组声明为 array n 或指针 array 时有什么区别 我猜想例如 a 和 c 都指向数组的第一个元素 但它们的行为不同 include
  • 列数据内的分隔符问题

    这不是重复的另一个问题 因为我不想删除行 上述帖子中接受的答案与此非常不同 并且not旨在维护所有数据 Problem 来自格式错误的 csv 文件的列数据内的分隔符 尝试过的解决方案 csv module shlex StringIO S
  • 有没有办法自动将 UITextField 绑定到我的数据模型中的变量?

    我正在构建一个视图控制器 其中添加了一堆UITextField以编程方式表达我的观点 我想用从 CoreData 加载的一些文本预先填充文本字段 但允许用户根据需要进入并更改该文本 然后 我需要返回并将新文本再次保存回 CoreData 并
  • 如何在 QEMU 内使用 GDB 对 x86 代码进行源代码级调试?

    我为MBR部分编写了一个x86汇编程序 我编译如下 nasm hellombr asm f bin o hellombr img 然后我在 qemu 中运行它 qemu fda hellombr img boot a 问题是如何在源代码级别
  • 是否可以更改 Lua 字节码中的字符串(内容和大小)以使其仍然正确?

    是否可以更改 Lua 字节码中的字符串 内容和大小 以使其仍然正确 它是关于将字符串翻译为 Lua 字节码 当然 并非每种语言的每个单词的大小都相同 是的 如果你知道自己在做什么的话 字符串以其存储为 int 的大小为前缀 该 int 的大
  • 有没有办法在 WPF 中使用数据模板继承?

    是否可以有DataTemplate组合还是继承 类似于样式中的 BasedOn 有两个例子我需要它 对于继承的类 我有一个带有多个继承类的基类 我不想在每个派生类的模板中重复基类模板DataTemplate 不同的视图 对于同一个类 我想定
  • 如何删除firestore中具有不同id的多个文档? [复制]

    这个问题在这里已经有答案了 我有多个具有不同 id 的文档 我需要实现一些方法来删除它们 我进行了搜索 所以我想我应该使用批处理 所以我的数据库如下所示Image 所以我能够在这样的数组列表中获取我的文档的ID 0Y5rfMK3duHBUT
  • 如何始终在 X 轴上显示“标签”

    如果我多次缩放图形 X 轴上的所有标签都会消失 消失 并且没有可见的 X 轴标签 因此无法理解我在哪里的图形部分 如何强制 matlab 始终在 X 轴上显示标签 并在缩放时自动更新它们并显示足够的数字 以便 邻居 标签必须不同 这取决于您
  • 尝试以编程方式选择 UIWebView 中的文本时 setStart 和 setEnd 抛出错误

    以下是我在 UIWebView 中使用的一些 HTML div span style background color red a href 10 20 This is a link a span div 点击链接后 我想以编程方式选择 U
  • 使用 Spring 的 JSP 中的多个模型属性

    我想要完成的是使用一个表单 使用 Spring 和 JSP 提交多个模型属性 我知道如何做到这一点 将模型与标签映射form form 但是 如果我想在带有注释的控制器方法中获取两个 modelAttributes ModelAttribu
  • JSF 2.0视图参数传递对象

    我试图将一个对象从一个页面传递到另一个页面 其中每个页面都位于不同的视图中 在第一页上 我有一个输入文本 其中 myBean 是一个 ViewScoped Bean 名称是一个对象
  • 从基础实体查找属性的使用情况

    我试图在属性属于基类的类中找到该属性的用法 这是一个令牌示例 class Program class Item public DateTime DeletedStamp get set public decimal Price get se