访问自定义数据注释内的依赖属性的简单方法

2023-12-03

我的上有以下属性DomainRegistry model:

    [Domain("Extension")]
    public string Name { get; set; }

    [Required(ErrorMessage = "Select extension")]
    public string Extension { get; set; }

域是我的自定义数据注释,我已经尝试了我的一切IsValid方法来访问扩展属性内的值。

我的自定义数据注释中有以下内容:

[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public class DomainAttribute : ValidationAttribute
{
    public string ExtensionProperty { get; set; }

    public DominioAttribute(string property)
    {
        ExtensionProperty = property;
    }

    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(value);
        var extension = (string) properties.Find(Propriedade, true).GetValue(value);
        if (extension == null) return new ValidationResult("Extension shouldn't be null");
        return null;
    }

我似乎无法从内部扩展中获取价值IsValid方法。有人知道如何做到这一点吗?我还需要将扩展​​名作为字符串值获取。


尝试这个:

protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        var containerType = validationContext.ObjectInstance.GetType();
        var field = containerType.GetProperty("Extension");

        if (field != null)
        {
            var extensionValue = field.GetValue(validationContext.ObjectInstance, null);

            return extensionValue != null ? ValidationResult.Success : new ValidationResult("Extension shouldn't be null", new[] { validationContext.MemberName });
        }

        return ValidationResult.Success;
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问自定义数据注释内的依赖属性的简单方法 的相关文章

  • 给 MVVM 中的 View 一些命令

    假设我有一些用户控制权 用户控件有一些子窗口 用户控制用户想要关闭某种类型的子窗口 用户控制代码后面有一个方法 public void CloseChildWindows ChildWindowType type 但我无法调用此方法 因为我
  • 来自 ControllerContext 的 ActionDescriptor

    鉴于我只能访问ControllerContext并不是Action Contexts获取当前正在执行的 ActionDescriptor 的最佳方法是什么 到目前为止我发现的唯一方法是 new ReflectedControllerDesc
  • 在多线程场景中正确锁定 List

    好吧 我只是无法正确理解多线程场景 抱歉再次问类似的问题 我只是在互联网上看到许多不同的 事实 public static class MyClass private static List
  • 加载组件无法正常工作

    我尝试将程序集加载到 C 源代码中 所以我首先编译源文件 private bool testAssemblies String sourceName FileInfo sourceFile new FileInfo sourceName C
  • “匿名递归”在 .NET 中有效吗?它在 Mono 中是这样的

    我冲浪进入this http blogs msdn com b wesdyer archive 2007 02 02 anonymous recursion in c aspx几天前关于 C 中的匿名递归 的网站 本文的主旨是以下代码在 C
  • asp.net mvc 中编辑器模板中复杂类型的 ModelMetadata

    我有一个视图模型 其中包含 TestThing 类型的复杂属性 该属性声明为 public class TestThing Display Name String3 Prompt String4 public string Test1 ge
  • 从 .NET 应用程序登录 Windows

    我认为它应该是一个Windows服务 当给定某些条件时 它应该执行登录到机器的操作 机器将在 登录屏幕 中检查网络服务 以了解登录时应使用的用户名和密码 这可以吗 我不想要 自动登录 Windows 功能 Thanks AFAIK 无法完成
  • 流行的“易失性轮询标志”模式被打破了吗?

    假设我想使用布尔状态标志来进行线程之间的协作取消 我意识到人们最好应该使用CancellationTokenSource反而 这不是这个问题的重点 private volatile bool stopping public void Sta
  • 检查输出是否重定向

    我有一个用 C 编写的控制台应用程序 它处理一些数据然后打印结果 在结果可用之前 会有一个小动画 和不断更新的进度百分比 xx 显然 如果用户重定向我的应用程序的输出 这将被打印到输出重定向到的文本文件中 如果可能的话我想避免这种情况 那么
  • DynamoDb:删除具有相同哈希键的所有项目

    考虑下表 Table documentId Hash Key userId Range Key 如何编写代码来删除所有具有相同内容的项目documentId并且最好不取回物品 目前 您不能仅通过传递 Hash 键来删除所有项目 要删除项目需
  • T 为 type1 或 type2 的通用方法

    有没有办法声明一个泛型函数 泛型类型是type1or type2 example public void Foo
  • 有什么方法可以在 ASP.NET MVC Web 应用程序中模拟声明主体吗?

    我有一些ASP NET MVC控制器代码检查用户是否经过身份验证 如果是 则检查用户是否具有特定声明 工作正常 我有一些单元测试 我需要模拟一个IPrincipal 这很容易做到 但我不知道如何检查索赔 我通常会做类似的事情 public
  • 无法使用VS2010 SP1进入.NET框架源代码

    我按照步骤http blogs microsoft co il blogs arik archive 2010 07 12 step into net framework 4 0 source code aspx http blogs mi
  • Asp.Net MVC3 - 如何创建动态 DropDownList

    我发现了很多关于此的文章 但我仍然不知道到底如何做到这一点 我正在尝试创建自己的博客引擎 我有用于创建文章的视图 我首先使用 EF 和代码 现在我必须填写应添加文章的类别数量 但我想将其更改为下拉列表 名称为类别 我的模型看起来是这样的 p
  • 值类型数组如何存储在 .NET 对象堆中?

    在 NET中 诸如int之类的值类型对象存储在内存中 引用类型对象需要为引用和对象单独分配内存 并且对象存储在 NET对象堆中 而Array是在堆中创建的 那么int 等值类型的数组如何存储在堆中呢 这是否意味着值类型对象可以存储在堆中而无
  • 使用 MemoryCache 而不是普通的旧 Dictionary 的令人信服的理由是什么

    我刚刚遇到内存缓存 http msdn microsoft com en us library system runtime caching memorycache aspx这是 NET 4 中的新增功能 我知道如果你想的话它会很有用 限制
  • Interlocked.CompareExchange 可以抛出 NullReferenceException 吗?

    From https msdn microsoft com en us library bb297966 v vs 110 aspx https msdn microsoft com en us library bb297966 v vs
  • 为什么我可以将 COM 对象转换为错误的接口?

    我有一个 NET 程序 它与另一个进程中的 mshtml 对象进行交互 我写了一个小示例项目 https github com hakito ComCastExample从头来说明问题 在此示例中 我直接使用 COM 引用进行 mshtml
  • 托管线程多久切换一次操作系统线程?

    据我所知 托管线程不能保证在同一操作系统线程上运行 如果 CLR 可以在操作系统线程之间切换托管线程 这种情况发生的频率是多少 频率受什么影响 我有一个单独的问题 https stackoverflow com questions 1979
  • 如何在 Visual Studio 2010 中增强 XAML 设计器?

    当我使用 XAML 设计器时 进入设计器和退出设计器是如此困难和缓慢 当我这样做时 Visual Studio 卡了一段时间 有什么方法可以增强 XAML 设计器和编辑器吗 Ant 保存 XAML 文件时非常慢 这通常意味着您可能有复杂的

随机推荐

  • jQuery UI Datepicker:当今天也被选中时不突出显示

    我正在使用jQuery 日期选择器选择日期 它工作正常 除了我想更改 1 个默认行为 当您选择一天时 所选日期会突出显示 我喜欢 当前日期也被突出显示 但使用不同的 css 样式 我也喜欢 但是 如果您选择当天 则突出显示 因为它是当天 因
  • git push 尝试推送 git ls-files 中未列出的文件

    我不小心在我的仓库中提交了一个不必要的大子文件夹 xxxxx 当我在推送时意识到这一点时 我中途停止了推送 然后我使用以下命令从存储库中删除了不必要的文件夹 xxxxx git rm r cached xxxxx 但同时ls files不显
  • Xamarin Forms 和 Azure Easy Tables 同步问题

    我在 Visual Studio 中使用 Azure 作为后端开发 Xamarin Forms 应用程序已经有一段时间了 我遇到了一个非常奇怪的问题 请注意 我正在遵循本文中提到的方法blog 由于某些奇怪的原因 PullAsync 方法似
  • 测试用户角色,VB.NET中的授权属性

    我正在使用 ASP NET MVC 构建网站 我使用 VB 作为编程语言 我有几个问题 1 我创建了一个角色 经理 如何检查用户是否属于该特定角色 现在我正在使用 If My User IsInRole Manager Then Direc
  • 帮助解决Python UnboundLocalError:赋值前引用的局部变量

    我之前已经发布过类似的问题 但是 我想我可能误解了我的问题 所以我可以在这里发布我的原始代码 并寻找有人可以帮助我 我现在真的陷入了困境 非常感谢 from numpy import import math as M initial con
  • Google Scripts:如何调用一个函数在另一个函数完成后运行

    我有一个谷歌脚本 其中有 4 个不同的函数 需要一个接一个地运行 但一个函数可以在前一个函数完成 完成后运行 每个函数所需的时间各不相同 但平均每个函数大约需要 15 20 分钟 每个函数都会完成一个包含大量数据的电子表格 因此我想在触发器
  • 为什么 dagger graph 在 java 中可以工作,但在 Kotlin 中却说缺少 Provides,而我已经提供了?

    将 dagger 接口从 java 转换为 Kotlin 时遇到一些问题 我得到 Dagger MissingBinding java util Map 如果没有 Provides 注释的方法就无法提供 这是我的界面 interface T
  • 仅单击一个时,RecyclerView 第一项和最后一项发生更改

    我正在使用 recyclerview 来显示可以选择的兴趣列表 单击第一个项目也会选择最后一个项目 选择第一项 最后一项也被选中 选择是通过以下代码完成的 Override public InterestViewHolder onCreat
  • 无法将 AVCaptureDevice 与闪光灯一起使用

    对于我认为应该很简单的事情 我遇到了困难 我只想在 iOS 应用程序中拍照时点亮闪光灯 我所有的尝试都失败了或者只成功了 20 这是点亮闪光灯的代码 Here we have captureDevice hasFlash captureDe
  • 如何在 jfreechart、netbeans 中调整此图表的大小?

    我似乎无法操纵图表本身 我无法改变尺寸chartPanel createChartPanel 不断重写为chartPanel javax swing panel 我尝试创建一个方法modificarGrafico 但什么也没有 例子 htt
  • WSO2 ESB 4.8.1 中支持的 XPath 函数

    WSO2 ESB 4 8 1 似乎不支持以下 XPath 函数 escape html uri iri 到 uri 编码为 uri 有谁知道 WSO2 ESB 4 8 1 支持哪些 XPath 函数以及不支持哪些函数 Answer reco
  • 将图像(覆盖)放置在另一个图像(背景)的 x,y 上

    我需要在运行时动态地将图像放置在另一个图像上 精确地位于背景图像的 x y 位置 我有以下详细信息 叠加图像属性 红色 x 58 y 232 h 266 w 431背景图片 黑色 match parent w 1024 h 768 这里 x
  • 训练后如何获取神经网络参数?

    我正在使用 matlab 的神经网络进行分类 我想知道如何存储网络参数 例如 纪元 时间 MSE等 训练后在矩阵中 多谢 打电话时train 第二个返回的参数是培训记录 其中包含有关训练的纪元 时间和其他信息 例如 net tr train
  • 检查未知对象中的对象是否存在的最有效的Javascript方法[重复]

    这个问题在这里已经有答案了 这是我在 Javascript 中经常遇到的事情 假设我有一个这样的对象 var acquaintances types friends billy 6 jascinta 44 john 91 others Ma
  • 詹金斯下的git克隆/ssh

    我使用 stash 作为 git 存储库管理器 stash 使您能够为每个尝试连接和克隆的用户添加 ssh 密钥 我已经为所有 UNIX 用户配置好了 但 Windows 却给我带来了困难 Windows 从机 2008 R2 服务器 上的
  • 自定义视图矩阵的拉伸问题

    我目前正在为我的项目开发自己的二维数学库 以提高我对底层矩阵数学的理解 过去我使用过 GLM 等库 但我觉得它可能值得研究作为一种学习经验 其中大部分都很简单 我的大多数数学课程都与 OpenGL 集成并运行良好 但是我的视图矩阵似乎在窗口
  • 使用字符串访问变量

    我目前有一个 Javascript 函数 它使用字符串来引用对象名称并访问其属性 我目前正在使用 eval 来获得所需的效果 我知道这是非常非常错误的 这是我目前如何实现我想要的目标的示例 var stringToObjectRef fun
  • iPhone上取消控制播放音乐时如何设置标题?

    我正在开发一个广播应用程序 它支持在后台播放音乐 但我陷入了如何设置音乐标题以取消控制的困境 The difference between my app and Music is as following 我应该怎么做才能让我的应用程序显示
  • 使用 RSA 密钥保护许可证密钥

    已经很晚了 我很累 而且可能很沉 我编写了一个需要保护的应用程序 因此它只能在我为其生成密钥的计算机上运行 我现在正在做的是获取 BIOS 序列号并从中生成哈希值 然后使用 XML RSA 私钥对其进行加密 然后我对 XML 进行签名以确保
  • 访问自定义数据注释内的依赖属性的简单方法

    我的上有以下属性DomainRegistry model Domain Extension public string Name get set Required ErrorMessage Select extension public s