草庐IT

Reflection

全部标签

c# - 如何根据名称获取属性值

有没有办法根据对象的名称获取对象的属性值?例如,如果我有:publicclassCar:Vehicle{publicstringMake{get;set;}}和varcar=newCar{Make="Ford"};我想写一个方法,我可以在其中传递属性名称,它会返回属性值。即:publicstringGetPropertyValue(stringpropertyName){returnthevalueoftheproperty;} 最佳答案 returncar.GetType().GetProperty(propertyName).G

c# - 如何根据名称获取属性值

有没有办法根据对象的名称获取对象的属性值?例如,如果我有:publicclassCar:Vehicle{publicstringMake{get;set;}}和varcar=newCar{Make="Ford"};我想写一个方法,我可以在其中传递属性名称,它会返回属性值。即:publicstringGetPropertyValue(stringpropertyName){returnthevalueoftheproperty;} 最佳答案 returncar.GetType().GetProperty(propertyName).G

c# - 如何检查对象是否具有某些方法/属性?

也许使用动态模式?您可以使用dynamic关键字调用任何方法/属性,对吧?例如,如何在调用myDynamicObject.DoStuff()之前检查该方法是否存在? 最佳答案 你可以这样写:publicstaticboolHasMethod(thisobjectobjectToCheck,stringmethodName){vartype=objectToCheck.GetType();returntype.GetMethod(methodName)!=null;}编辑:你甚至可以做一个扩展方法并像这样使用它myObject.Has

c# - 如何检查对象是否具有某些方法/属性?

也许使用动态模式?您可以使用dynamic关键字调用任何方法/属性,对吧?例如,如何在调用myDynamicObject.DoStuff()之前检查该方法是否存在? 最佳答案 你可以这样写:publicstaticboolHasMethod(thisobjectobjectToCheck,stringmethodName){vartype=objectToCheck.GetType();returntype.GetMethod(methodName)!=null;}编辑:你甚至可以做一个扩展方法并像这样使用它myObject.Has

c# - 如何拦截 C# 中的方法调用?

对于给定的类,我希望具有跟踪功能,即我希望记录每个方法调用(方法签名和实际参数值)和每个方法退出(仅方法签名)。我如何完成这个假设:我不想使用任何第三方C#的AOP库,我不想向所有我想跟踪的方法添加重复代码,我不想更改类的公共(public)API-类的用户应该能够以完全相同的方式调用所有方法。为了使问题更具体,我们假设有3个类:publicclassCaller{publicstaticvoidCall(){Tracedtraced=newTraced();traced.Method1();traced.Method2();}}publicclassTraced{publicvoid

c# - 如何拦截 C# 中的方法调用?

对于给定的类,我希望具有跟踪功能,即我希望记录每个方法调用(方法签名和实际参数值)和每个方法退出(仅方法签名)。我如何完成这个假设:我不想使用任何第三方C#的AOP库,我不想向所有我想跟踪的方法添加重复代码,我不想更改类的公共(public)API-类的用户应该能够以完全相同的方式调用所有方法。为了使问题更具体,我们假设有3个类:publicclassCaller{publicstaticvoidCall(){Tracedtraced=newTraced();traced.Method1();traced.Method2();}}publicclassTraced{publicvoid

c# - 如何使用反射获取调用方法名称和类型?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:HowcanIfindthemethodthatcalledthecurrentmethod?我想写一个方法来获取调用方法的名称,以及包含调用方法的类的名称。C#反射是否可行?

c# - 如何使用反射获取调用方法名称和类型?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:HowcanIfindthemethodthatcalledthecurrentmethod?我想写一个方法来获取调用方法的名称,以及包含调用方法的类的名称。C#反射是否可行?

c# - 反射 - 获取属性的属性名称和值

我有一个类,我们将其命名为Book,并使用一个名为Name的属性。有了那个属性,我就有了一个与之关联的属性。publicclassBook{[Author("AuthorName")]publicstringName{get;privateset;}}在我的主要方法中,我使用反射并希望为每个属性获取每个属性的键值对。因此,在此示例中,我希望看到“Author”作为属性名称,“AuthorName”作为属性值。问题:如何使用反射获取属性的属性名称和值? 最佳答案 使用typeof(Book).GetProperties()获取Prop

c# - 反射 - 获取属性的属性名称和值

我有一个类,我们将其命名为Book,并使用一个名为Name的属性。有了那个属性,我就有了一个与之关联的属性。publicclassBook{[Author("AuthorName")]publicstringName{get;privateset;}}在我的主要方法中,我使用反射并希望为每个属性获取每个属性的键值对。因此,在此示例中,我希望看到“Author”作为属性名称,“AuthorName”作为属性值。问题:如何使用反射获取属性的属性名称和值? 最佳答案 使用typeof(Book).GetProperties()获取Prop