首页 > 其他分享 >谁调用了我之[CallerMemberName]

谁调用了我之[CallerMemberName]

时间:2023-08-17 14:12:00浏览次数:36  
标签:CallerMemberName 调用 通知 RaisePropertyChanged IsPlaying 属性

经常有这种情况,写了个功能,发现无故短时间内被多调用。但是业务逻辑应该是单位时间内只允许最多 N次调用。

通常我们就会写上次和这次调用 时间比较 如果太短直接return.

但是这不是解决的根本。因此我想知道到底是谁调用了我?

这个需求一直好早就有,但感觉没有这种好的简单的实现方式。

今天偶然WPF看到了一个属性更改的通知这里

public bool IsPlaying
        {
            get => _IsPlaying;
            set 
           { 
                _IsPlaying = value; 
                RaisePropertyChanged(); 
             }
       }                                        
RaisePropertyChanged()通知这个改变,咦?无参的?多个属性不同的属性改变都使用这个,那他怎么通知具体是哪个属性改变了?
是不是就是调用他的地方 这个他自动获取的?
果然 [CallerMemberName] 这个特性。。。查下相关的还有
CallerFilePath CallerLineNumber 所以。。这里是不是可以类似搞出些调试模式下想看到的内容呢,
先就记录在这。后续有时间再细研究配合作用。

标签:CallerMemberName,调用,通知,RaisePropertyChanged,IsPlaying,属性
From: https://www.cnblogs.com/stweily/p/17637419.html

相关文章

  • Kettle中调用用户自定义的jar包
     ETL工具断断续续的也接触了Informatica,Kettle,SSIS,个人感觉Info很强大但是也很贵,而且有着一些神秘感。Kettle4.0版本以来已经有了User  definedjavaclass组件,使用户可以写Java代码让kettle来调用,这就说明了很多kettle不能处理的东西我们可以通过Java代码来实现,步骤如......
  • Dify 加入更多国内外优秀模型,轻松调用 Llama2、ChatGLM 等热门开源模型
    Dify的朋友们,不少细心的网友在周末的时候就已经发现了我们产品上的更新--模型供应商上新增了一大批新模型,这也是很多朋友翘首以盼的版本--V0.3.13。此前Dify已经陆续支持了全球前列的模型优秀代表:OpenAI的GPT系列、Anthropic的Claude系列、AzureOpenAI系列。本次更新......
  • 视频汇聚集中存储EasyCVR平台调用iframe地址视频无法播放,该如何解决?
    安防监控视频汇聚平台EasyCVR基于云边端一体化架构,具有强大的数据接入、处理及分发能力,可提供视频监控直播、云端录像、视频云存储、视频集中存储、视频存储磁盘阵列、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、AI算法中台智能分析无缝对接等功能。为了便于用户二......
  • ABAP-调用MB52取数
    1FIELD-SYMBOLS:<fs_datas1>TYPEANYTABLE.2DATA:los_dataTYPEREFTOdata.34cl_salv_bs_runtime_info=>set(display=''metadata=''data='X').56"SUMBIT程序名WITH条件7SUBMITrm07mlbsWITHm......
  • 通过微软Azure调用GPT的接口API-兼容平替OpenAI官方的注意事项
    众所周知,我们是访问不通OpenAI官方服务的,但是我们可以自己通过代理或者使用第三方代理访问接口现在新出台的规定禁止使用境外的AI大模型接口对境内客户使用,所以我们需要使用国内的大模型接口国内的效果真的很差,现在如果想使用GPT大模型,可以使用微软Azure的OpenAI服务。 负责......
  • (随笔)龟兔赛跑(多线程调用同一资源时一个线程结束时其他线程保持运行)
    问题:当其一线程结束运行后其他线程保持运行而非结束现象:控制台会输出两次thewinneris:xxx代码如下packagecom.demo01;/***TODO模拟归途赛跑**@authorpangyangjian*@since2023/8/1616:10*/publicclassTextThread_5implementsRunnable{ @Override......
  • 【转载】c++调用win32API控制打印机打印
    原文:https://blog.csdn.net/cheng448208985/article/details/55510687win32实现将原始数据发送给打印机1、调用OpenPrinter()打开打印机,获取打印机句柄。2、初始化DOCINFO打印机结构体。3、调用StartDocPrinter()表明应用程序准备发送文档数据给打印机。4、调用StartPagePrin......
  • 视频汇聚集中存储EasyCVR平台调用iframe地址视频无法播放且要求登录,该如何解决?
    安防监控视频汇聚平台EasyCVR基于云边端一体化架构,具有强大的数据接入、处理及分发能力,可提供视频监控直播、云端录像、视频云存储、视频集中存储、视频存储磁盘阵列、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、AI算法中台智能分析无缝对接等功能。为了便于用户二......
  • 视频汇聚集中存储EasyCVR平台调用iframe地址视频无法播放且要求登录,该如何解决?
    安防监控视频汇聚平台EasyCVR基于云边端一体化架构,具有强大的数据接入、处理及分发能力,可提供视频监控直播、云端录像、视频云存储、视频集中存储、视频存储磁盘阵列、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、AI算法中台智能分析无缝对接等功能。为了便于用户二......
  • python不同包之间调用提示不存在
     python不同包之间调用提示不存在 在file-setting-project-projectSources,把包放入到Sources中 再次查看,正常 ......