标签: custom-attributes

如何使用自定义类属性枚举所有类?

问题基于MSDN示例.

假设我们在独立桌面应用程序中有一些带有HelpAttribute的C#类.是否可以枚举具有此类属性的所有类?以这种方式识别课程是否有意义?自定义属性将用于列出可能的菜单选项,选择项将带到此类的屏幕实例.课程/项目的数量将缓慢增长,但我认为这样我们可以避免在其他地方列举所有课程/项目.

c# attributes class enumerate custom-attributes

144
推荐指数
5
解决办法
8万
查看次数

ASP.NET MVC 4使用权限代码自定义授权属性(无角色)

我需要在我的MVC 4应用程序中根据用户权限级别(没有角色,只分配给用户的CRUD操作级别的权限级别)来控制对视图的访问.

示例如下AuthorizeUser将是我的自定义属性abd我需要像下面一样使用它.

[AuthorizeUser(AccessLevels="Read Invoice, Update Invoice")]
public ActionResult UpdateInvoice(int invoiceId)
{
   // some code...
   return View();
}


[AuthorizeUser(AccessLevels="Create Invoice")]
public ActionResult CreateNewInvoice()
{
  // some code...
  return View();
}


[AuthorizeUser(AccessLevels="Delete Invoice")]
public ActionResult DeleteInvoice(int invoiceId)
{
  // some code...
  return View();
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?怎么样?提前致谢...

Chatura

authorization custom-attributes asp.net-mvc-4

117
推荐指数
3
解决办法
14万
查看次数

如何在C#中创建自定义属性

我已经尝试了很多次,但我仍然无法理解自定义属性的用法(我已经经历了很多链接).

任何人都可以向我解释一个带代码的自定义属性的基本示例吗?

c# custom-attributes c#-4.0

111
推荐指数
3
解决办法
11万
查看次数

如何在运行时读取类的属性?

我正在尝试创建一个通用方法,该方法将读取类的属性并在运行时返回该值.我该怎么做?

注意:DomainName属性属于DomainNameAttribute类.

[DomainName("MyTable")]
Public class MyClass : DomainBase
{}
Run Code Online (Sandbox Code Playgroud)

我想要生成的内容:

//This should return "MyTable"
String DomainNameValue = GetDomainName<MyClass>();
Run Code Online (Sandbox Code Playgroud)

c# generics custom-attributes

98
推荐指数
4
解决办法
10万
查看次数

我可以为内置Python类型添加自定义方法/属性吗?

例如 - 假设我想helloWorld()为Python的dict类型添加一个方法.我可以这样做吗?

JavaScript有一个行为方式的原型对象.也许这是糟糕的设计,我应该继承dict对象,但它只适用于子类,我希望它可以在任何和所有未来的字典上工作.

以下是它在JavaScript中的表现:

String.prototype.hello = function() {
    alert("Hello, " + this + "!");
}
"Jed".hello() //alerts "Hello, Jed!"
Run Code Online (Sandbox Code Playgroud)

这是一个有用的链接,包含更多示例 - http://www.javascriptkit.com/javatutors/proto3.shtml

python monkeypatching custom-attributes built-in-types

62
推荐指数
4
解决办法
2万
查看次数

通过自定义属性(json.net)从序列化中排除属性

我需要能够控制如何/是否序列化类上的某些属性.最简单的情况是[ScriptIgnore].但是,我只希望这些属性能够适用于我正在处理的这个特定的序列化情况 - 如果应用程序中的下游其他模块也想要序列化这些对象,则这些属性都不应该妨碍.

所以我的想法是在属性MyAttribute上使用自定义属性,并使用知道查找该属性的钩子初始化JsonSerializer的特定实例.

乍一看,我没有看到JSON.NET中任何可用的钩子点都会为PropertyInfo当前属性提供这样的检查 - 只有属性的值.我错过了什么吗?或者更好的方法来解决这个问题?

c# serialization custom-attributes json.net

56
推荐指数
4
解决办法
6万
查看次数

如何在java和xml中传递自定义组件参数

在android中创建自定义组件时,经常会询问如何创建并将attrs属性传递给构造函数.

通常建议在java中创建一个只使用默认构造函数的组件,即

new MyComponent(context);
Run Code Online (Sandbox Code Playgroud)

而不是试图创建一个attrs对象来传递给经常在基于xml的自定义组件中看到的重载构造函数.我试图创建一个attrs对象,它似乎不容易或根本不可能(没有非常复杂的过程),并且所有帐户都不是真正需要的.

那么我的问题是:在java中构造自定义组件的最有效方法是什么,它传递或设置在使用xml对组件进行膨胀时由attrs对象设置的属性?

android components custom-attributes uicomponents

49
推荐指数
1
解决办法
3万
查看次数

jquery:获取自定义属性的值

html5支持input[type=text]元素的占位符属性,但我需要处理不兼容的浏览器.我知道有一千个插件用于占位符,但我想创建1001个.

我能够获得input[placeholder]元素的句柄但是尝试获取占位符属性的值是返回undefined - $("input[placeholder]").attr("placeholder").

我正在使用jquery 1.6.2.

这是jsfiddle.我修改了代码以在兼容html5的浏览器中工作,仅用于测试目的.

HTML

<input type="text" name="email" size="10" placeholder="EMAIL ADDRESS">
Run Code Online (Sandbox Code Playgroud)

jQuery的

function SupportsInputPlaceholder() {
    var i = document.createElement("input");
    return "placeholder" in i;
}

$(document).ready(function(){
    if(!SupportsInputPlaceholder()) {
        //set initial value to placeholder attribute
        $("input[placeholder]").val($("input[placeholder]").attr("placeholder"));

        //create event handlers for focus and blur
        $("input[placeholder]").focus(function() {
            if($(this).val() == $(this).attr("placeholder")) {
                $(this).val("");
            }
        }).blur(function() {
            if($(this).val() == "") {
                $(this).val($(this).attr("placeholder"));
            }
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

感谢任何和所有的帮助,B

jquery custom-attributes attr

49
推荐指数
2
解决办法
16万
查看次数

使用反射查找具有自定义属性的方法

我有一个自定义属性:

public class MenuItemAttribute : Attribute
{
}
Run Code Online (Sandbox Code Playgroud)

和一个有几个方法的类:

public class HelloWorld
{
    [MenuItemAttribute]
    public void Shout()
    {
    }

    [MenuItemAttribute]
    public void Cry()
    {
    }

    public void RunLikeHell()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

如何只获取使用自定义属性修饰的方法?

到目前为止,我有这个:

string assemblyName = fileInfo.FullName;
byte[] assemblyBytes = File.ReadAllBytes(assemblyName);
Assembly assembly = Assembly.Load(assemblyBytes);

foreach (Type type in assembly.GetTypes())
{
     System.Attribute[] attributes = System.Attribute.GetCustomAttributes(type);

     foreach (Attribute attribute in attributes)
     {
         if (attribute is MenuItemAttribute)
         {
             //Get me the method info
             //MethodInfo[] methods = attribute.GetType().GetMethods();
         }
     }
}
Run Code Online (Sandbox Code Playgroud)

我现在需要的是获取方法名称,返回类型以及它接受的参数.

c# reflection custom-attributes

48
推荐指数
3
解决办法
5万
查看次数

Java Annotations和C#Attributes之间有什么相似之处和不同之处?

我有一个Java库我正在考虑移植到C#.Java库广泛使用注释(在构建时和运行时).

我从未使用过C#属性,但是要明白它们是Java注释的粗略等价物.

如果我使用属性来替换注释继续使用端口,我需要知道什么?什么会是一样的?不同?什么会咬我?

c# java attributes annotations custom-attributes

46
推荐指数
3
解决办法
2万
查看次数