Click here to Skip to main content
14,669,680 members
Articles » General Programming » Programming Tips » General
Tip/Trick
Posted 9 May 2011

Tagged as

Stats

13.1K views
2 bookmarked

A simple attribute to store licensing information and credits

Rate this:
5.00 (6 votes)
Please Sign up or sign in to vote.
5.00 (6 votes)
9 May 2011CPOL
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 :)

License

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

Share

About the Author


Comments and Discussions

 
QuestionGreat! Pin
Sascha Lefèvre20-Oct-17 12:46
professionalSascha Lefèvre20-Oct-17 12:46 
GeneralCool! ;) Pin
Jani Giannoudis10-May-11 19:23
MemberJani Giannoudis10-May-11 19:23 
GeneralRe: Thanks :) Pin
Eddy Vluggen11-May-11 11:03
professionalEddy Vluggen11-May-11 11:03 
GeneralSehr Gut! :) Pin
DrABELL10-May-11 10:39
professionalDrABELL10-May-11 10:39 
GeneralRe: Vielen Dank :) Pin
Eddy Vluggen11-May-11 11:03
professionalEddy Vluggen11-May-11 11:03 

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

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