【C#反射获取属性值和设置属性值】教程文章相关的互联网学习教程文章

C#根据对象属性获取属性的字符串【代码】

使用反射常用方法之一 public static string GetPropertyName<T>(Expression<Func<T, object>> expression) {var rtn = "";if (expression.Body is UnaryExpression){rtn = ((MemberExpression)((UnaryExpression)expression.Body).Operand).Member.Name;}else if (expression.Body is MemberExpression){rtn = ((MemberExpression)expression.Body).Member.Name;}else if (expression.Body is ParameterExpression){rtn = ((Param...

c#-通过字符串从局部变量获取属性【代码】

在方法内部,我进行了一些Web服务调用来获取数据,如下所示:public void SomeMethod() {var user = userWS.GetUsers();var documents = documentWS.GetDocuments(); }我也有一个XML文件,用户可以在其中告诉要映射的属性. XML看起来像这样:<root><item id="username" mapper="user.username.value" /><item id="document1" mapper="documents.document1.value" /> </root>所以我基本上想要做的是执行映射器属性内的字符串.这样我有这...

我们在C#中获取属性时是否需要锁定?

在C#中,获取非易失性属性时是否需要锁定?我知道在设置属性时我们需要锁定.怎么样? 现在3.0提供自动属性,它本身是线程安全吗?解决方法:不,automatic properties不是线程安全的.它们只不过是语法糖;编译器会自动生成私有支持字段,就像您手动编写它们一样. 但是,除非您的应用程序从多个线程访问属性,否则没有理由担心这一点.如果你的应用程序是多线程的,很难从你的问题中得知.

c# – 从对象获取属性信息,而不将属性名称作为字符串【代码】

出于某些原因,我需要创建一个PropertyInfo实例的Dictionary,它对应于某些类的属性(让我们称之为EntityClass). 好的,我可以使用typeof(EntityClass).GetProperties(). 但我还需要确定某些特定属性的值(在编译时已知).通常我可以做以下其中一项:EntityInstance.PropertyX = Value; typeof(EntityClass).GetProperty("PropertyX").SetValue(EntityInstance, Value, null);为了填满我的字典,我需要使用PropertyInfo实例而不是仅正常设...

我如何通过c#中的函数动态获取属性?【代码】

我有一个功能public string getValue(string val)在这个函数中我需要从数据库字段中获取值:using (UsersContext db = new UsersContext()) {UserProfile user = db.UserProfiles.Where(c => c.UserId == this.userId).FirstOrDefault()name = user.(val); ???????????? }我如何从函数参数中获取自定义值?我想我需要改变参数类型:public string getValue(UserProfile val)但我如何获得财产或通过财产名称? 谢谢!!!

c# – 如何使用lambda表达式来获取属性“path”和值?【代码】

我想做一些类似于HtmlHelpers在ASP.NET MVC中所做的事情.请考虑以下事项:@Html.EditorFor(model => model.SomeProperty.SomeInnerProperty)HtmlHelper不仅可以清楚地获取SomeInnerProperty的值,而且还知道我称之为该属性的“路径”,因为它创建了具有属性的相应HTML元素:name="SomeProperty.SomeInnerProperty"我想能够创建一个方法,可以获得类似于HtmlHelper的值和“路径”.我对现有的HtmlHelpers进行了一些反思,看起来像是一个兔...

c# – 在抽象类中获取属性的set访问器,不可能吗?【代码】

鉴于班级’:public abstract class AbstractEntity {public virtual Guid Id { get; private set; } }public class Entity {public virtual Guid Id { get; private set; } }以及属性’Id’的PropertyInfo. 调用方法时:PropertyInfo.GetAccessors()当类不是抽象的时(实体),它返回get方法和set方法,但是当类是抽象的时候只有get-method(AbstractEntity). 为什么是这样?还有另一种方法从具有私有集的属性中获取set方法吗?解决方法...

c# – 从Property Expression获取属性的拥有对象【代码】

我正在研究一些代码,其最终目的是让您使用属性表达式来设置具有类似语法的属性的值,以将变量作为out或ref参数传递. 有点像:public static foo(()=>Object.property, value);并且将为Object.Property分配值的值. 我正在使用以下代码来获取属性的owlying对象:public static object GetOwningObject<T>(this Expression<Func<T>> @this){var memberExpression = @this.Body as MemberExpression;if (memberExpression != null){var ...

c# – 从磁盘上的.cs类文件中获取属性【代码】

我正在为Visual Studio编写VSIX扩展.使用该插件,用户可以从VS中的解决方案资源管理器中选择一个类文件(因此磁盘上的某个实际.cs文件),然后通过上下文菜单项触发我的VSIX代码,对该文件执行某个操作. 我的VSIX扩展需要知道所选类文件的公共和内部属性. 我试图通过使用正则表达式解决这个问题,但我有点坚持它.我无法弄清楚如何只获取类的属性名称.它现在发现太多了. 这是我到目前为止的正则表达式:\s*(?:(?:public|internal)\s+)?(?:...

c# – 如何从自定义属性获取属性的显示名称【代码】

我正在尝试创建一个最小长度验证属性,该属性将强制用户在文本框中输入指定的最小字符数public sealed class MinimumLengthAttribute : ValidationAttribute{public int MinLength { get; set; }public MinimumLengthAttribute(int minLength){MinLength = minLength;}public override bool IsValid(object value){if (value == null){return true;}string valueAsString = value as string;return (valueAsString != null && value...