Click here to Skip to main content
Click here to Skip to main content

Tagged as

Go to top

A simple attribute to store licensing information and credits

, 9 May 2011
Rate this:
Please Sign up or sign in to vote.
A few fields to store general information on the provided code
using System;
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple=true)]
public class AttributionAttribute : System.Attribute
{
    String _author;
    String _authorLink;
    String _contributionTitle;
    String _contributionLink;
    public AttributionAttribute()
    {
    }
    public String Author
    {
        get { return this._author; }
        set { this._author = value; }
    }
    public String AuthorLink
    {
        get { return this._authorLink; }
        set { this._authorLink = value; }
    }
    public String ContributionTitle
    {
        get { return this._contributionTitle; }
        set { this._contributionTitle = value; }
    }
    public String ContributionLink
    {
        get { return this._contributionLink; }
        set { this._contributionLink = value; }
    }
}
This makes it easy to give credit to the author, without having to keep a list of what's referenced and whatsnot.
[assembly: Attribution
(
    Author = "Jani Giannoudis",
    AuthorLink = "http://www.itenso.com/en/Default.aspx",
    ContributionTitle = "User Settings Applied",
    ContributionLink = "http://www.codeproject.com/KB/dotnet/user_settings.aspx"
)]
Giving credit in a generic DataGridView is as easy as fetching all attributes from the current executing assembly and all it's references and summing them;
foreach (AttributionAttribute aa in attribs)
{
  int newRowIdx = dataGridView1.RowCount;
  dataGridView1.RowCount++;
  dataGridView1[0, newRowIdx].Value = aa.Author;
  dataGridView1[0, newRowIdx].ToolTipText = aa.AuthorLink;
  dataGridView1[1, newRowIdx].Value = aa.ContributionTitle;
  dataGridView1[1, newRowIdx].ToolTipText = aa.ContributionLink;
}
Enjoy Smile | :)

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Eddy Vluggen
Software Developer
Netherlands Netherlands
I'm a Delphi-convert, mostly into WinForms and C#. My first article is from 2001, extending the Delphi-debugger, which is still visible on the WayBackMachine[^] and even available in Russian[^] Smile | :)

Comments and Discussions

 
GeneralCool! ;) PinmvpJani Giannoudis10-May-11 19:23 
GeneralRe: Thanks :) PinmemberEddy Vluggen11-May-11 11:03 
GeneralSehr Gut! :) PinmemberDrABELL10-May-11 10:39 
GeneralRe: Vielen Dank :) PinmemberEddy Vluggen11-May-11 11:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web02 | 2.8.140916.1 | Last Updated 10 May 2011
Article Copyright 2011 by Eddy Vluggen
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid