惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
W
WeLiveSecurity
I
InfoQ
P
Proofpoint News Feed
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
M
MIT News - Artificial intelligence
NISL@THU
NISL@THU
S
Securelist
Know Your Adversary
Know Your Adversary
T
Threatpost
美团技术团队
C
CXSECURITY Database RSS Feed - CXSecurity.com
D
Docker
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs
C
CERT Recently Published Vulnerability Notes
B
Blog
J
Java Code Geeks
Jina AI
Jina AI
MyScale Blog
MyScale Blog
Simon Willison's Weblog
Simon Willison's Weblog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Hacker News
The Hacker News
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Project Zero
Project Zero
I
Intezer
T
Tenable Blog
The Last Watchdog
The Last Watchdog
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LangChain Blog
H
Heimdal Security Blog
C
Check Point Blog
P
Privacy International News Feed
Google DeepMind News
Google DeepMind News
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
博客园 - 聂微东
Security Latest
Security Latest
博客园_首页
Latest news
Latest news
Vercel News
Vercel News
博客园 - 司徒正美
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Tailwind CSS Blog

博客园 - Ray Lynn

使用 flex air 读写文件 - Ray Lynn Google Chrome 源码下载 什么是SAAS? QQ盗号木马原理 WindowsSockets 错误码 js操作cookies类 使用 Microsoft SOAP Toolkit 2.0 建立安全 Web 服务 历史上最强的代码 饭否,唧歪们MSN、QQ、GTalk机器人实现原理及代码 这是比月读还强的幻术!! - Ray Lynn - 博客园 .net 中的伪静态方式. 来自 Discuz!NT 伪静态网页的实现 ACCESS 创建表及索引方式 VB6 判断网络是否正常类 眼保健操 面向服务的面向业务基础 VB6编程中如何获取硬盘分区信息 原味香菇片蒸鸡腿 [转]C#中的定制特性(Attributes)
定制特性学习笔记
Ray Lynn · 2007-06-29 · via 博客园 - Ray Lynn

using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Diagnostics;

namespace AttrTestControl
{
    [MyAttr(
"构造中",Desc="属性")]
    
public class Program
    
{
        
static void Main(string[] args)
        
{
            Assembly a 
= Assembly.LoadFrom(Process.GetCurrentProcess().ProcessName + ".exe");
            Type type 
= typeof(Program);
            
foreach (Attribute attr in type.GetCustomAttributes(true))
            
{
                MyAttrAttribute newAttr 
= attr as MyAttrAttribute;
                
if(newAttr!=null)
                Console.WriteLine(newAttr.Desc);
            }

            Console.ReadLine();
        }

    }


    [AttributeUsage(AttributeTargets.All, AllowMultiple 
= true, Inherited = true)]
    
class MyAttrAttribute : Attribute
    
{
        
private string _Desc;

        
/// <summary>
        
/// Desc
        
/// </summary>

        public string Desc
        
{
            
get
            
{
                
return _Desc;
            }

            
set
            
{
                _Desc 
= value;
            }

        }


        
public MyAttrAttribute(string sDesc)
        
{
            _Desc 
= sDesc;
        }

    }

}