首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在C#中有没有一种方法可以将属性转换为包含其名称的字符串?

在C#中有没有一种方法可以将属性转换为包含其名称的字符串?
EN

Stack Overflow用户
提问于 2013-08-01 08:46:18
回答 4查看 163关注 0票数 1

我希望在给定属性的情况下获得字符串表示。这样,我就可以将这个字符串用于NotifyPropertyChanged,并且在重构属性名称之后仍然可以正常工作。

编辑:我使用的是.NET 4.0

更新:我还希望DependencyProprty的名称可用,即我需要在静态变量赋值时使用该值。

相同的示例代码来解释:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// actual code

private int prop = 42;
public int Prop
{
    get
    {
        return prop;
    }
    set
    {
        prop = value;
        NotifyPropertyChanged("Prop"); // I'd like to replace the hard-coded string here
    }
}


// code as I'd like it to be

private int propNew = 42;
private static readonly string PropNewName = GainStringFromPropertySomeHow(PropNew); // should be "PropNew"
public int PropNew
{
    get
    {
        return propNew;
    }
    set
    {
        propNew = value;
        NotifyPropertyChanged(PropNewName); // <== will remain correct even if PropNew name is changed
    }
}

重构后:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private int prop = 42;
public int PropNameChanged
{
    get
    {
        return prop;
    }
    set
    {
        prop = value;
        NotifyPropertyChanged("Prop"); // oops
    }
}


private int propNew = 42;
private static readonly string PropNewName = GainStringFromPropertySomeHow(PropNewNameChanged); // should be "PropNewNameChanged"
public int PropNewNameChanged
{
    get
    {
        return propNew;
    }
    set
    {
        propNew = value;
        NotifyPropertyChanged(PropNewName); // still correct
    }
}
EN

回答 4

Stack Overflow用户

发布于 2013-08-01 08:54:59

我认为这可能是有帮助的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// This method is called by the Set accessor of each property.
// The CallerMemberName attribute that is applied to the optional propertyName
// parameter causes the property name of the caller to be substituted as an argument.
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
if (PropertyChanged != null)
{
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}

来源和更多解释:http://msdn.microsoft.com/de-de/library/system.componentmodel.inotifypropertychanged.aspx

这里:http://msdn.microsoft.com/de-de/library/system.runtime.compilerservices.callermembernameattribute.aspx

票数 1
EN

Stack Overflow用户

发布于 2013-08-01 09:05:00

如果您还没有使用.Net 4.5,因此不能使用CallerMemberName,您可以使用以下方法:https://stackoverflow.com/a/3191598/869250

票数 1
EN

Stack Overflow用户

发布于 2013-08-01 09:05:19

这是How to get current property name via reflection?的副本

所以你可以这样做

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NotifyPropertyChanged(MethodBase.GetCurrentMethod().Name);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17989201

复制
相关文章
为什么要使用代码签名?代码签名需要哪些证书?
现在社会中几乎每个人都人手一部手机以及电脑,家里不使用电脑的人在工作的时候也经常会使用电脑,手机和电脑使用过程中是需要用到很多软件的,不同的软件作用也不一样,一些软件火爆之后也为开发者们带来了大量的收入,不过软件的安全问题一直都是开发者们比较头痛的,一些不法分子会盗取软件的代码用来盈利,所以现在的软件都是需要申请办理代码签名的,那么为什么要使用代码签名?代码签名需要哪些证书?
用户8715145
2021/10/14
5770
代码签名证书签名需要联网吗?代码签名证书有哪些作用?
随着互联网的资源和内容变得日益丰富,用户在访问网站或者使用软件的时候,需要验证这些内容的安全性以及正规性,代码签名可以提供软件发行者的身份信息,能够验证软件是否存在代码被修改的情况,代码签名证书签名需要联网吗?代码签名证书的作用是什么?怎样申请代码签名证书?
用户8715145
2021/11/12
1.6K0
哪些用户需要代码签名证书,代码签名证书怎么用
如果想要让网站变得更加的安全可靠,让更多的用户信任,就需要签名代码证书了,网络上面的签名代码证书是比较多的,但是选择一款适合自己的签名代码证书会比较好。但签名代码用什么证书好呢?
用户8715145
2021/10/18
9100
代码签名用什么证书?使用代码签名证书有哪些好处?
有一些人可能会对代码签名感到陌生,其实它可以看成一种提升软件产品可靠性和安全性的方式,开发者通过对代码的数字签名,能够证明这款软件是正规的,软件里面的代码内容没有被非法篡改,所以用户可以放心使用,代码签名用什么证书?使用代码签名证书的好处有哪些?
用户8715145
2021/11/12
6550
为什么要办代码签名证书?代码签名证书在哪里可以办?
随着软件技术的不断发展,现在手机或者电脑上面平时会用到各种软件,不同的软件功能也是不一样的,通过软件可以做到很多事情,正是因为软件的盛行现在很多互联网公司或者购物平台等也都会推出各自的软件,让用户们随时随地可以在软件上面进行操作,现在非常火热的各种网络游戏其实也属于一种软件类型。软件想要正常的使用是需要拥有代码签名证书的,不然使用过程中也会出现各种问题,那么为什么要办代码签名证书?代码签名证书在哪里可以办?
用户8715145
2021/10/14
6620
代码签名证书出错原因有哪些?申请代码签名证书多少钱?
代码签名证书属于一类较为常见和实用的互联网产品,它可以起到标识开发方身份以及软件来源的作用,对于软件开发方和用户来讲都有好处,能够避免软件开发方的权益受到侵害,能够防止用户下载到含有恶意程序的软件,代码签名证书出错有哪些常见原因?申请代码签名证书的费用是多少?
用户8715145
2021/11/26
7950
安装代码签名证书有什么好处吗?哪些人需要代码签名证书?
运维工作者都知道,开发代码往往需要花费数百个小时,在耗费了极大精力的前提下,最不想看到的就是代码被恶意的修改和拦截,这样不仅会让用户产生不信任感,而且还会影响自己的信誉。但黑客们总是防不胜防,往往在我们不经意间就在用户的电脑上安装了某些恶意软件。这时候大家想到的解决办法就是安装代码签名证书。那么,安装代码签名证书有什么好处吗?一起来一探究竟吧!
用户8715145
2021/10/12
1.1K0
代码签名证书
随着全社会网络安全意识的空前高涨,个人隐私及信息安全保护已经成为我们日常生活关注的焦点。我们日常使用的电脑软件,手机APP等都是需要关注防范的重点,稍有疏忽就可能成为泄露个人信息的罪魁祸首,因此,权威可信的软件是我们下载使用时的首选。由此一来,软件开发商为了让自己的软件具有高可信度,在软件公开发布前使用代码签名证书就显得十分必要。今天,我们就一起了解下软件使用代码签名证书的好处和必要性。
JoySSL
2023/03/09
5020
代码签名证书
代码签名证书的类型及好处有哪些?代码签名证书是需要自己去申请吗?
大家平时生活中会需要用到各种类型的软件,这些软件也为人们的日常生活提供了很多便利,随着市面上的软件越来越多,很多软件公司都为自己的代码安全感到担心,辛辛苦苦开发出来的软件如果被别人盗取或者篡改代码就会对用户产生影响,从而就会造成软件的用户大量流失,对于软件开发公司的信誉也是有很大影响的,使用代码签名证书就可以保证软件是合法使用的,软件的代码也能得到更好的保护,那么代码签名证书的类型及好处有哪些?代码签名证书是需要自己去申请吗?
用户8715145
2021/10/13
9190
使用代码签名证书对EXE文件进行签名?
如果您想知道如何培养用户对您的应用程序或可执行文件的信任,对应用程序或可执行文件 (exe) 进行数字签名是确保这一点的最佳方法。
Gworg
2023/10/18
1.7K0
EV代码签名证书
在互联网世界中,很多人都会通过下载各种软件进行工作、生活,这其中就会用到代码签名证书,否则将会被网站提示“软件不安全”。
柳絮云泡泡
2023/03/07
1K0
EV代码签名证书
代码签名证书是什么东西?代码签名证书哪个好?
互联网技术的发展大大方便了人们的日常生活,而且随着智能手机的普及也让人们的日常生活越来越不开互联网,大家可以在手机上完成各种操作,无论是购物还是浏览文章都是非常方便的,不过想要实现这些功能都是需要借助各种软件的,为了满足用户们的各种需求,很多互联网公司也开始研发自己的软件,无论在电脑或者手机上面都可以随意使用,软件是需要代码签名证书才可以正常访问以及使用的,那么代码签名证书是什么东西?代码签名证书哪个好?
用户8715145
2021/10/12
6430
Android使用系统签名以及安装[通俗易懂]
IDE: ADT eclipse \ jdk 1.6\ 真机实测 \Windows 7
全栈程序员站长
2022/08/31
8430
TF签名为什么不掉签?TF签名应用如何安装
很多了解过TF签名的小伙伴可能都听说过TF签名是不掉签的,是的,TF签名掉签的可能性非常小,签名成功后除非特殊原因,基本上不会掉签,是目前稳定性最好的签名。
贰贰贰叁
2021/05/13
8890
什么人需要代码签名证书?代码签名证书如何使用?
互联网的快速发展虽然方便人们的日常生活,不过也带来了一些不好的影响,信息的安全性就是非常大的问题,相对以前的社会来说现在信息传播的速度太快了,在互联网上面很多信息都容易泄露出去,为了增加网络安全每个人也都会运用各种方式。关于软件方面的安全开发者以及发布者都是比较头痛的,为了方便制作方以及用户们的使用,软件需要可以办理相关的代码签名证书,那么什么人需要代码签名证书?代码签名证书如何使用?
用户8715145
2021/10/14
6180
JNI动态注册以及JNI签名
  注册native方法有两种方式,动态注册和静态注册。静态注册是在编译时进行注册,而且在java中声明的native方法和c/c++中的本地方法的对应关系是恒定的;比如说在com.example.test包下的Test类中声明了一个stringFromJNI()的native方法,那么它对应的c/c++中的本地方法名就是Java_com_example_test_Test_stringFromJNI();并且这个方法名不能做任何的修改,在java中调用stringFromJNI()函数时,就会按包名_类名_方法名的形式找到对应的方法并调用。而动态注册是在运行时进行注册的,而且本地方法的名字可以按自己的喜好随意取,只要说明了java中声明的native方法和c/c++中的本地方法的对应关系即可。下面用代码的形式来演示一下动态注册的使用步骤。
故乡的樱花开了
2023/10/22
4690
JNI动态注册以及JNI签名
代码签名证书有用吗?代码签名证书在哪申请比较方便?
互联网技术的快速发展大大提升了人们的生活水平,以前买东西都是需要上门购物的,现在在手机或者电脑上面就可以直接购买了,物品还会由快递直接送货上门,平时生活中和朋友们聊天视频也都可以直接在互联网上面进行,这些操作一般来说都是通过软件来实现的,所以大家平时也会下载各种各样的软件,不过在下载的时候会遇到一些风险提示的软件,这就是没有代码签名证书的软件,那么代码签名证书有用吗?代码签名证书在哪申请比较方便?
用户8715145
2021/10/13
5540
用户需要代码签名证书吗 代码签名证书有什么用
现在很多企业都会开设多种多样的软件,但是这些软件一般是需要代码签名证书的,因为它可以让软件更加具有信任度,具有代码签名证书的软件一般会更受用户的欢迎。那么,用户需要代码签名证书吗?
用户8715145
2021/10/14
1.3K0
ios的双层代码签名
ios签名便是让开发出来的APP进行发布,可是ios双层签名又是怎样一回事,签名流程又是怎样姿态的。
苹果企业签名
2020/03/06
8630
ios的双层代码签名
代码签名证书有什么用?如何申请代码签名证书?
相信网络技术人员都会对代码签名证书的概念感到熟悉,它为软件开发方提供了理想解决方案,可以用来标识软件开发方的身份,需要先获得数字证书,然后才能够实现代码签名,代码签名证书有什么用?怎样申请代码签名证书?
用户8715145
2021/11/12
7450

相似问题

将键-值对存储在JSON对象数组中

40

GSON将Json键存储在字符串变量中

10

在JSON对象中填充Mongoose

11

在Mongoose / MongoDB中存储JSON对象,该对象声明为变量

11

使用Mongoose存储字符串对象

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文