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

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threatpost
P
Privacy International News Feed
T
Tenable Blog
Know Your Adversary
Know Your Adversary
C
Cisco Blogs
P
Proofpoint News Feed
Spread Privacy
Spread Privacy
G
GRAHAM CLULEY
爱范儿
爱范儿
U
Unit 42
K
Kaspersky official blog
C
Cybersecurity and Infrastructure Security Agency CISA
Jina AI
Jina AI
O
OpenAI News
L
LangChain Blog
PCI Perspectives
PCI Perspectives
P
Privacy & Cybersecurity Law Blog
Latest news
Latest news
Cisco Talos Blog
Cisco Talos Blog
F
Full Disclosure
L
Lohrmann on Cybersecurity
V
V2EX
L
LINUX DO - 热门话题
S
Security Affairs
量子位
Martin Fowler
Martin Fowler
云风的 BLOG
云风的 BLOG
Schneier on Security
Schneier on Security
月光博客
月光博客
MyScale Blog
MyScale Blog
C
CERT Recently Published Vulnerability Notes
AWS News Blog
AWS News Blog
博客园 - 叶小钗
Forbes - Security
Forbes - Security
W
WeLiveSecurity
T
Troy Hunt's Blog
J
Java Code Geeks
Hacker News - Newest:
Hacker News - Newest: "LLM"
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
Apple Machine Learning Research
Apple Machine Learning Research
雷峰网
雷峰网
Google Online Security Blog
Google Online Security Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
TaoSecurity Blog
TaoSecurity Blog
H
Help Net Security
The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

博客园 - 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;
        }

    }

}