【c# – 通过反射获取所有ICollection属性】教程文章相关的互联网学习教程文章

C#如何根据一个属性网格中另一个属性的值公开一个属性?【代码】

我有多个属性的类.有时,可以在属性网格中编辑属性(A).但是有时属性A可能无法编辑.这取决于另一个属性的值. 我怎样才能做到这一点? 编辑:对不起,我忘了提到我在设计时需要这样做.解决方法:运行时属性模型是一个高级主题.对于PropertyGrid,最简单的方法是编写一个继承自ExpandableObjectConverter的TypeConverter.覆盖GetProperties,并将有问题的属性交换为自定义属性. 从头开始编写PropertyDescriptor很麻烦;但是在这种情况下,您...

c#-在时间戳上修改,对类属性的任何更改更新【代码】

我不太确定如何表达这个问题,请原谅. 基本上,我想每次更改属性时都调用UpdateModifiedTimestamp.这只是我很快编写的一个示例类,但是应该解释我要实现的目标. 每次更改“姓氏”,“姓氏”或“电话”时,都应更新ModifiedOn属性.public class Student {public DateTime ModifiedOn { get; private set; }public readonly DateTime CreatedOn;public string Firstname { set; get; }public string Lastname { set; get; }public string ...

c#-在ASP.NET MVC中使用属性实现对象级安全性【代码】

是否可以使用自定义ActionFilterAttribute来实现对象级安全性? 我读了Branislav Abadjimarinov’s answer到Get permission from Authorize Attribute?,并开始考虑制作一个类似AuthorizeAttribute的动作过滤器来实现对象级安全性. 假设我将其与预期用法称为ObjectAuthorizeAttribute:[ObjectAuthorize] public ActionResult Edit(int id) {//...在OnActionExecuting中访问ID值的最简单方法是什么? 这样的东西已经可用了吗?解决方...

c#-根据条件从列表创建属性值数组【代码】

我最近使用此站点获取了从对象列表中提取属性值数组的代码(我反复搜索,找不到更新的原始帖子或帮助:() 结果如下:qtyArray.AddRange(plan.Components.Select(c => c.qty.HasValue ? (int)c.qty.Value : 0).ToArray());问题是,我有其他属性要输出到并行数组中以传递给数据源,但我希望忽略任何错误的“活动”属性.因此,对于所有数组,请执行上述操作,但仅在c.active == true的情况下:plan.Components.Select(c => c.qty.HasValue ? (...

在C#或使用jQuery中按日期属性拆分列表【代码】

我有一个List< Event>事件具有Date属性.我当前将此列表绑定到一个asp:repeater,这很好,并且会产生如下事件标题列表: 事件1事件2事件3事件4事件5 但是,现在我希望在不同日期发生的事件之间的列表中添加某种分隔符,以使列表看起来像: 2011年5月10日,星期二事件1事件22011年5月11日,星期三事件32011年5月12日,星期四事件4事件5 谁能推荐一个好的方法来做到这一点.我很乐意操纵我的列表服务器端或绑定我的列表,然后使用jQuery在客户...

委派给C#中的属性【代码】

我正在使用Odbc DataReader做一些事情.查询结果中的每一行都应转换为ResultObject,如下所示:struct ResultObject {public int Prop1 { get; set; }public string Prop2 { get; set; }... }为了编写更多特定于域的代码,我想转换此代码var query = "SELECT Prop1, Prop2, ... FROM MyTable;"; ... connect, submit query while( reader.Read() ) {var fieldValue = fields[ fieldindex ];switch( fieldindex ) {case( indexProp1 ):...

C#-ASP.Net Web窗体-如何从页面和用户控件设置MasterPage的属性【代码】

我有两个母版页,供不同的内容页使用.我想从内容页面设置母版页属性,以便母版页可以显示基于这些值的一些更改.然后,我还需要访问母版页中添加的用户控件中的那些母版页属性,以反映一些更改.如何实现呢? 我找到了一种方法,可以通过添加<%@ MasterType VirtualPath =“ / Site.master”%>从内容页面设置母版页属性.然后使用** Master.property = value **,但不确定如何访问用户控件.有任何想法吗?解决方法:您可以创建母版页继承的...

C#-自定义用户控件中的“覆盖字体”属性未显示在设计器文件中【代码】

我有一个自定义用户控件,并且已覆盖其Font属性. 当我将用户控件的副本放到窗体上时,可以很好地设置Font属性,但是在窗体的设计器文件中看不到为“字体”设置的值.当我编译/运行我的应用程序时,我输入的值会丢失. 请注意,我也想覆盖Text属性,也不能在设计器文件中看到该属性的设置值-直到我在这里找到一个答案来帮助做到这一点(我需要设置’DesignerSerializationVisibility’和’ EditorBrowsable’属性).我曾尝试对Font进行相同操作...

C#中的属性

来源:https://blog.guoqianfan.com/2019/12/07/properties-in-csharp/前言C#属性是字段的扩展,它配合C#中的字段使用,用以构造一个安全的应用程序。 属性提供了灵活的机制来读取、编写或计算私有字段的值,可以像使用公共数据成员一样使用属性,但实际上它们是称做“访问器”的特殊方法,其设计目的主要是为了实现面向对象(Object Oriented, OO)中的封装思想。 根据该思想,字段最好设为private, 一个设计完善的类最好不要直接把...

c#-添加到通用List属性并保存在viewstate中【代码】

我正在使用通用列表在viewstate中存储一组数据.如果我尝试在get访问器中使用linq对列表进行排序,那么当我尝试将新项目添加到列表中时,如果不起作用.没错,只是没有将其添加到列表中. 当我运行以下代码行时:MyObjectList.Add(new MyObject());使用此属性不起作用:public List<MyObject> MyObjectList {get{if (ViewState["MyObjectList"] == null)ViewState["MyObjectList"] = GetDataFromDataBase();return ((List<MyObject>)View...

C#-MVC编辑器属性名称【代码】

有没有人写过或者有没有办法使用属性名而不是表达式来调用EditorFor.EditorFor("Code")相对于EditorFor(_ => _.Code)我想写一些更通用的东西.通过创建表达式来调用EditorFor非常麻烦,而且我不认为没有更好的方法. 这行不通.var root = Expression.Parameter(Model.GetType(), "_"); var expr = Expression.Lambda(Expression.MakeMemberAccess(root, property), root); var ef = (Expression<Func<Product, string...

首页> C#>如何分割属性与LINQ表达式【代码】

想象我有一个实体:MyEntity { ... Nullable<Int64> MyProperty ... }我想做这样的事情:Ctx.MyEntity.Where(x=>x.MyProperty/16 == 10) 与Linq.Expression 所以我创建一个参数:var param = Expression.parameter(typeOf(MyEntity));然后该属性:var prop = Expression.PropertyOrField(param,"MyProperty");如果我想比较10,我会做这样的事情:var cmp = Expression.equal(prop,Expression.constant(10,prop.Type));但首先我需要将...

c#-将多个字段绑定到MVC 3视图模型的相同属性【代码】

我目前正在尝试弄清楚如何将MVC 3视图中的多个字段绑定到1视图模型上的属性,以及尝试实现此目标时的建议. 使用一个示例来说明准备某件事所需的分钟数(仅). 表单可能看起来像这样: 准备时间-小时:[1]分钟:[30] 并且提交的表单值需要转换为分钟,并绑定到ViewModel的PreparationTimeInMinutes属性. ViewModel属性:public short PreparationTimeInMinutes { get; set; }并且View被强类型化为ViewModel,并且当前具有以下内容:<div ...

c#-使用LINQ根据多个表中的多个属性有条件地对元素进行排序【代码】

最近,我需要对页面列表和导航菜单项进行排序,它们彼此关联. 每个导航都有一个Page属性.每个页面都有一个Navigation属性.它们是我数据库中的外键引用. 我有一个导航项目的列表以及每个页面项目的列表.问题在于,无论页面与导航相关联,它都存储在页面项列表中. 我想生成一个页面项的排序列表,如下所示:具有非空导航的项由Page.Navigation.Index属性排序.导航为空的项目按Page.Title属性排序,然后按Page.ID属性排序. 以下是我们目前正...

如何从C#获取和设置带有参数的vb6属性?【代码】

我需要从vb6对象获取并设置带有参数的属性:Property Prop(ByVal type As SomeEnum) As Currency这就是我创建对象实例的方式:dynamic obj = Activator.CreateInstance(Type.GetTypeFromProgID(progID));我在c#中尝试了vb6语法,但是它不起作用(甚至无法编译):obj.Prop(enumValue) = 1.2m;所以问题是:如何从c#中获取和设置带有参数的vb6属性? 编辑: 此方法不适用于动态方法. AFAIK与COM Interop一起使用:obj.get_Prop(enumValu...