Click here to Skip to main content
14,576,820 members

Best C# article of December 2013

This competition has ended

Contribute to CodeProject and you'll automatically be in the running for a monthly prize!

Each month at CodeProject we gather together the best of the articles submitted the previous month and ask our readers to choose the best of the best. Entry is automatic - just submit you articke and we'll do the rest.

Check out the submission guidelines for information on posting articles.

Current Entries

Articles that match the contest criteria are automatically entered. The top 50 entries are shown.

9 Dec 2013
dietmar paul schoder
How to get the location of a specific IP-address
12 Dec 2013
John Atten
In this article, we will examine the specifics of this "Just-In-Time" PDF generation.
24 Dec 2013
Reiss
This is an alternative for "How to Check Whether Word is Installed in the System or Not"
13 Dec 2013
saramgsilva
This article aims to show how to use the Tessnet2 library.
3 Dec 2013
Darek Danielewski
Clear guide on how to embed an image inside an HTML email
24 Dec 2013
Sitang Ruan
How to display a spinner with disabled background when doing postback or Ajax call
17 Dec 2013
Member 9913858
An introduction to using FakeModel to create test aata for you.
3 Dec 2013
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
After the tip on Excel and Word, here we will explore the trick to verify whether Powerpoint is installed in the client's system or not by C#.
23 Dec 2013
Member 4296147
This Article explains the upload and resizeing of a load of images in one go
17 Dec 2013
Adittya Gupta
Table Value Parameters in SQL Server 2008 with ASP.NET.
30 Dec 2013
Afazal MD 3104209
VC 4 Display Mode. Different view selected based on Desktop or Mobile browser request
12 Dec 2013
Bert O Neill
Know how to find issues within your deployed WCF services
14 Dec 2013
comiscience
Here is my favourite singleton class which serves a class which has only a private constructor.
1 Dec 2013
pollirrata
Public Field Not Bound When Posting to WebAPI (or a deep dive into WebAPI model binding)
4 Dec 2013
Said Boularouk
This C# code show how to use a barcode reader to manage pharmaceutical sales. It could be adapted to any store or service based on barcode reading.
21 Dec 2013
Niel M.Thomas
The Windows Progress Ring as custom control
31 Dec 2013
DataBytzAI
Using a plugin system to auto-update functionality of a Windows service without the need to re-install the service
4 Dec 2013
Balachandar Jeganathan
Custom attached property in WPF
16 Dec 2013
furkanavcu
Implement the Levenshtein Edit Distance algorithm.
16 Dec 2013
Florian Rappl
A close look at some powerful features of C# that are less known but sometimes come in very handy
16 Dec 2013
Rafid K. Al-Humaimidi
Easily support caching in your C# application to improve its performance.
12 Dec 2013
Rahul Krishnan R
Simple article to load a crystal report rpt file using crystalreportviewer in Visual Studio 2012
20 Dec 2013
Marius Bancila
Shows how to easily create live tiles using the TileNotifications pack
17 Apr 2018
User 4835047
Small, customizable control for displaying JSON data similar to a GridView
1 Jan 2014
Monjurul Habib
The hardest single part of building a software system is deciding precisely what to build. Everybody in software development has the same goal: Rapid, Reliable, Low Risk delivery of high-quality, valuable functionality to users. This article will help them to achieve their goal.
27 Dec 2013
John Atten
C# SMTP configuration for Outlook.com SMTP host
13 Dec 2013
Sacha Barber
A look at how to create a responsive web site using ASP MVC / Twitter Bootstrap / WebAPI and Knockout.js.
26 Mar 2014
Don Fizachi
A C# implementation of the SCRAM SHA-1 (RFC 5802) authentication protocol.
5 Dec 2013
Darek Danielewski
An interesting variation on the Singleton pattern
20 Dec 2013
SarveshShukla
This article describes the concept of an abstract class in .NET.
4 Dec 2013
Rahul Rajat Singh
In this article we will discuss how to Design ASP.NET MVC Applications using SqlServer and Entity Framework
20 Dec 2013
Subodh Raikar
Accessing SSRS Reports from SharePoint Site using C#
6 Jan 2014
S. M. Ahasan Habib
In this article, I explain with transaction related theory and code sample, how in various scenarios we can use TransactionScope with various options for managing real life transactions.
30 Sep 2016
Florian Rappl
Exploring WPF capabilities, limitations and work-arounds to create state-of-the-art applications with multi-touch features.
16 Mar 2018
Paulo Zemek
Learn how to create a very small (less than 3kb) yet very expandable IoC container.
23 Jan 2014
Jing-Lu
.NET Spreadsheet Control written in C#. Supports Cells Merge, Border Style, Pattern Background Color, Data Format, Freeze, Formula, Macro and Script execution.
5 Dec 2013
Infoteam SA
Two solutions to host a self-hosted WCF Service
15 Dec 2013
Niel M.Thomas
Hide your personal gaming preference in plain sight with this control
12 Dec 2013
Yvan Rodrigues
This handy tip is an easy workaround for a shortcoming in iOS 6 and 7.
13 Dec 2013
Md.Mobidul Islam(Moin)
How Dependency Injection (DI) can help us build a loosely coupled software architecture, and how to implement DI using Autofac.
27 Dec 2013
Kees van Spelde
How to change resolution before starting an application
6 Dec 2013
dietmar paul schoder
RibbonComboBox in MVVM/WPF: the easiest way
24 Dec 2013
Senthilvel Samatharman
This tip provides a simple implementation for the ICommand interface and enables to write quick code leaving the nuances of fetching the return types and asynchrony
26 Nov 2014
Akhil Mittal
This article is an introduction to Knockout.js and CRUD Operations in ASP.NET Web Forms using Knockout.JS.
20 Dec 2013
Sivaji1565
Vertical Label in C# Windows Forms without overriding OnPaint using Infragistics controls
14 Jan 2015
free5lot
Camera in .NET application using .NET library (DirectShow).
12 Dec 2013
DataBytzAI
Using NancyFX to provide a web-interface to a Windows service using VS 2013
29 Oct 2014
Oleg Shilo
This article describes the CS-Script C# Intellisense plugin for Notepad++ (CSScriptNpp).
5 Dec 2013
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
After the tip on Excel, Word and Powerpoint, here we will explore the trick to verify whether Outlook is installed in the client's system or not by C#.

Current Participants

Those with articles that match the contest criteria are automatically entered.

Akhil Mittal
Architect https://codeteddy.com/
India India
Akhil Mittal is an Ex-Microsoft MVP(Most Valuable Professional), C# Corner MVP, Codeproject MVP, a blogger, author and likes to write/read technical articles. Akhil has an experience of around 12 years in developing, designing, architecting enterprises level applications primarily in Microsoft Technologies. Akhil enjoys working on technologies like MVC, Web API, Entity Framework, Angular, C# and BlockChain. Akhil is an MCP( Microsoft Certified Professional) in Web Applications (MCTS-70-528, MCTS-70-515) and .Net Framework 2.0 (MCTS-70-536). Visit Akhil Mittal’s personal blog CodeTeddy for some good and informative articles.
LinkedIn: https://www.linkedin.com/in/akhilmittal/
Group type: Collaborative Group

770 members

DataBytzAI
Chief Technology Officer The DataWorks
United Kingdom United Kingdom
Allen is a consulting architect with a background in enterprise systems. His current obsessions are IoT, Big Data and Machine Learning. When not chained to his desk he can be found fixing broken things, playing music very badly or trying to shape things out of wood. He runs his own company specializing in systems architecture and scaling for big data and is involved in a number of technology startups.

Allen is a chartered engineer, a Fellow of the British Computing Society, and a Microsoft MVP. He writes for CodeProject, C-Sharp Corner and DZone. He currently completing a PhD in AI and is also a ball throwing slave for his dogs.
Adittya Gupta
Software Developer
India India
Developer with 6+ years of experience.
Working with Dot.NET related technologies like ASP.NET, ASP.NET MVC, WebAPI, Javascript, JQuery, AngularJs, NodeJs, MSSQL and many more in Web(E-commerce) Domain.


Quick learner, Occasional writer, Swimmer and Music Lover.
Afazal MD 3104209
Software Developer (Senior) Epicor Software
India India
16+ years of experience in designing and developing Microsoft technologies applications.
My expertise skills are ASP.Net,MVC 3/4,MVC 4 WEB API, C#, WCF, REST, UML, Design Pattern,Angular, Node, Type script and SQL server.

You can reach me @ mdafazal@gmail.com
Balachandar Jeganathan
Software Developer (Senior) cognizant
United States United States
No Biography provided
Bert O Neill
Architect
Ireland Ireland
No Biography provided
comiscience
Software Developer (Senior)
France France
A foolish 18 years old boy
Just got an Microsoft C# Specialist Certification. Objectif of this year : MCSD
Darek Danielewski
Architect BI Software, Inc.
United States United States
A seasoned IT Professional. Programming and data processing artist. Contributor to StackOverflow.
dietmar paul schoder
Architect http://www.milestoned.co.uk
United Kingdom United Kingdom
I am a developer and convinced user of Visual Studio, C#, .net, WPF, MVVM, the project management standards of PMI and IPMA - and Microsoft Surface.
Don Fizachi
United Kingdom United Kingdom
No Biography provided
Florian Rappl
Chief Technology Officer
Germany Germany
Florian lives in Munich, Germany. He started his programming career with Perl. After programming C/C++ for some years he discovered his favorite programming language C#. He did work at Siemens as a programmer until he decided to study Physics.

During his studies he worked as an IT consultant for various companies. After graduating with a PhD in theoretical particle Physics he is working as a senior technical consultant in the field of home automation and IoT.

Florian has been giving lectures in C#, HTML5 with CSS3 and JavaScript, software design, and other topics. He is regularly giving talks at user groups, conferences, and companies. He is actively contributing to open-source projects. Florian is the maintainer of AngleSharp, a completely managed browser engine.
free5lot
Software Developer
Russian Federation Russian Federation
codeproject@free5lot.com
furkanavcu
Student University Of Kocaeli
Turkey Turkey
I am student University of Kocaeli and my department is Electronics and Telecommunication Engineering. It's my last year. So my interests are software developing and hardware developing for embedded platform.
Infoteam SA
Switzerland Switzerland
No Biography provided
Group type: Organisation

1 members

Jing-Lu
Software Developer unvell
Japan Japan
He loves programming, traveling, and photograph, he currently manages a small software development studio in Tokyo, Japan, he is the author of ReoScript[^] and ReoGrid[^].
John Atten
Software Developer XIV Solutions
United States United States
My name is John Atten, and my username on many of my online accounts is xivSolutions. I am Fascinated by all things technology and software development. I work mostly with C#, Javascript/Node.js, Various flavors of databases, and anything else I find interesting. I am always looking for new information, and value your feedback (especially where I got something wrong!)
Kees van Spelde
Software Developer (Senior)
Netherlands Netherlands
Programming since I was a kid. Started on the Commodore 64 with BASIC. Since then I used programming languages like Turbo Pascal, Delphi, C++ and Visual Basic 6.

Now a days I do a lot of programming in C# with underlying databases like MS SQL
Marius Bancila
Architect Visma Software
Romania Romania
Marius Bancila is the author of Modern C++ Programming Cookbook and The Modern C++ Challenge. He has been a Microsoft MVP since 2006, initially for VC++ and nowadays for Development technologies. He works as a system architect for Visma, a Norwegian-based company. He works with various technologies, both managed and unmanaged, for desktop, cloud, and mobile, mainly developing with VC++ and VC#. He keeps a blog at http://www.mariusbancila.ro/blog, focused on Windows programming. You can follow Marius on Twitter at @mariusbancila.
Md.Mobidul Islam(Moin)
Software Developer (Senior) IT Consultants Ltd (QCash).
Bangladesh Bangladesh
No Biography provided
No Biography provided
Member 9913858
United Kingdom United Kingdom
No Biography provided
Monjurul Habib
Software Developer (Senior)
Singapore Singapore
A life-long-learner, maker and soft music fan. Likes building things to solve problems. Years of successful records serving mid and large scale .NET applications in domestic and international client environment. Expertise in different areas of software development life cycles and Software Architecture.

Always looks for new technology and loves to get hands dirty Smile | :)
Niel M.Thomas
Architect
Denmark Denmark
Name: Niel Morgan Thomas
Born: 1970 in Denmark
Education:
Dataengineer from Odense Technical University.
More than 20 years in IT-business.
Current employment:
Working with application development in a major Danish company that produce medical equipment.
Oleg Shilo
Program Manager
Australia Australia
I was born in Ukraine. After completing the university degree worked there as a Research Chemist. Last 23 years I live in Australia where I've got my second qualification as a Software Engineer.

"I am the lucky one: I do enjoy what I am doing!"
Paulo Zemek
Software Developer (Senior) Niantic
United States United States
I started to program computers when I was 11 years old, as a hobbyist, programming in AMOS Basic and Blitz Basic for Amiga.
At 12 I had my first try with assembler, but it was too difficult at the time. Then, in the same year, I learned C and, after learning C, I was finally able to learn assembler (for Motorola 680x0).
Not sure, but probably between 12 and 13, I started to learn C++. I always programmed "in an object oriented way", but using function pointers instead of virtual methods.

At 15 I started to learn Pascal at school and to use Delphi. At 16 I started my first internship (using Delphi). At 18 I started to work professionally using C++ and since then I've developed my programming skills as a professional developer in C++ and C#, generally creating libraries that help other developers do their work easier, faster and with less errors.

Want more info or simply want to contact me?
Take a look at: http://paulozemek.azurewebsites.net/
Or e-mail me at: paulozemek@outlook.com

Codeproject MVP 2012, 2015 & 2016
Microsoft MVP 2013-2014 (in October 2014 I started working at Microsoft, so I can't be a Microsoft MVP anymore).
pollirrata
Software Developer e-nnovare
Mexico Mexico
Jorge is an enthusiast web developer who love to learn something new every day.
Rafid K. Al-Humaimidi
Software Developer (Senior) FactSet Europe Limited
United Kingdom United Kingdom
No Biography provided
Rahul Krishnan R
Network Administrator
India India
No Biography provided
Rahul Rajat Singh
Product Manager
India India

I Started my Programming career with C++. Later got a chance to develop Windows Form applications using C#. Currently using C#, ASP.NET & ASP.NET MVC to create Information Systems, e-commerce/e-governance Portals and Data driven websites.

My interests involves Programming, Website development and Learning/Teaching subjects related to Computer Science/Information Systems. IMO, C# is the best programming language and I love working with C# and other Microsoft Technologies.

  • Microsoft Certified Technology Specialist (MCTS): Web Applications Development with Microsoft .NET Framework 4
  • Microsoft Certified Technology Specialist (MCTS): Accessing Data with Microsoft .NET Framework 4
  • Microsoft Certified Technology Specialist (MCTS): Windows Communication Foundation Development with Microsoft .NET Framework 4

If you like my articles, please visit my website for more: www.rahulrajatsingh.com[^]

  • Microsoft MVP 2015
Reiss
Program Manager
United Kingdom United Kingdom
No Biography provided
S. M. Ahasan Habib
Architect
Bangladesh Bangladesh
I believe in and stay with living-learning culture. I believe learning is fun. I feel coding is like poetry. I am work with various technologies in my professional career (AngularJS, ASP.NET MVC/WebAPI, Scala-Play Framework, Nodejs, SharePoint, Redshift).
Sacha Barber
Software Developer (Senior)
United Kingdom United Kingdom
I currently hold the following qualifications (amongst others, I also studied Music Technology and Electronics, for my sins)

- MSc (Passed with distinctions), in Information Technology for E-Commerce
- BSc Hons (1st class) in Computer Science & Artificial Intelligence

Both of these at Sussex University UK.

Award(s)

I am lucky enough to have won a few awards for Zany Crazy code articles over the years

  • Microsoft C# MVP 2016
  • Codeproject MVP 2016
  • Microsoft C# MVP 2015
  • Codeproject MVP 2015
  • Microsoft C# MVP 2014
  • Codeproject MVP 2014
  • Microsoft C# MVP 2013
  • Codeproject MVP 2013
  • Microsoft C# MVP 2012
  • Codeproject MVP 2012
  • Microsoft C# MVP 2011
  • Codeproject MVP 2011
  • Microsoft C# MVP 2010
  • Codeproject MVP 2010
  • Microsoft C# MVP 2009
  • Codeproject MVP 2009
  • Microsoft C# MVP 2008
  • Codeproject MVP 2008
  • And numerous codeproject awards which you can see over at my blog
Said Boularouk
United States United States
No Biography provided
saramgsilva
Software Developer (Senior)
Portugal Portugal
No Biography provided
SarveshShukla
Technical Lead
India India
Sarvesh has worked extensively in Microsoft Technologies
He has worked in ASP, VB, VB.NET, C#, ASP.NET, ASP.NET MVC, WCF, Webservices, NHibernate, Oracle and SQl Server
Senthilvel Samatharman
Software Developer (Senior)
India India
I have been associated with software in different domains and positions. I wrote most of my code in C++, basically for windows applications. For sometime, I managed teams that built websites and services using Java and related technologies. Now, I am back into development spree and am wetting my hands in .Net technologies.
Sitang Ruan
Software Developer (Senior) TrafficTech Inc.
Canada Canada
I am Sitang Ruan, a .Net developer focus on web application development for 6 years. I like to write elegant and efficient codes to provide user a smooth and solid experience. I also like to take very complicated and challenging tasks.
Sivaji1565
Software Developer
India India
No Biography provided
Subodh Raikar
Software Developer
United States United States
My name is Subodh Raikar and I am currently working as a Software Developer. I enjoy writing code and solving problems using technology. This not only provides me livelihood, but also gives a satisfaction of being creative and assisting people with the day to day business operations.

I have been involved in the entire software development life cycle, from requirement gathering to design, coding, testing, documentation and maintenance. These softwares are used among a wide array of departments within the company. I also developed several ERP customizations and designed reports on top of the ERP system as well as custom applications.

My technical expertise includes Microsoft's .NET platform, C#, ADO.NET, SQL Server 2008, VB.NET, SSRS, Crystal Reports, Entity Framework and LINQ. I also developed a project using Amazon Web Services like Elastic Compute Cloud (EC2), Relational Database Service (RDS), SimpleDB and Simple Storage Service (S3) during my graduate coursework.
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
Software Developer (Senior)
India India
Proud Indian | Author | TEDx Speaker | Microsoft MVP | CodeProject MVP | Speaker | DZone Most Valuable Blogger| jsfiddler

My Website & Blog

taditdash.co.in

Programming Community Profiles

jsfiddle | Stack Overflow

Social Profiles

Facebook | Twitter | LinkedIn

Awards


  1. DZone Most Valuable Blogger
  2. Microsoft MVP 2014, 2015, 2016, 2017, 2018
  3. Code Project MVP 2014, 2015, 2016
  4. Star Achiever of the Month December 2013
  5. Mindfire Techno Idea Contest 2013 Winner
  6. Star of the Month July 2013
User 4835047
Software Developer (Senior)
Canada Canada
No Biography provided
Yvan Rodrigues
Systems Engineer Clearpath Robotics
Canada Canada
Yvan Rodrigues has 30 years of experience in information systems and software development for the industry. He is Senior Controls Engineer at OTTO Motors

He is a Certified Technician (C.Tech.), a professional designation granted by the Institute of Engineering Technology of Ontario (IETO).

Yvan draws on experience as owner of Red Cell Innovation Inc., Mabel's Labels Inc. as Manager of Systems and Development, and the University of Waterloo as Information Systems Manager.

Yvan supports open-source software. He is a committer for SharpKit (C# to Javascript cross-compiler) and WebIssues (Issue/Ticket Management System), TinyMCE (JavaScript editor), and contributes to MySQL, Ghostscript, iTextSharp, Bacula, FreeBSD, and Xamarin.

Contest Entries and Requirements

  1. The contest period covers the the first day of the month 12AM US Eastern Standard Time and ends the final day of the month at 11:59:59 PM US Eastern Standard Time. All entries must be submitted during this period in order to qualify.
  2. Must be an article, or blog entry
  3. With the exception of the overall category, the article must be tagged with at least one of the tags corresponding to that competition's category (for example, to enter the C# Competition you would need to tag your article with a C# tag).
  4. The contest period covers the the first day of the month 12AM US Eastern Standard Time and ends the final day of the month at 11:59:59 PM US Eastern Standard Time. All entries must be submitted during this period in order to qualify.
  5. Articles entries must follow the CodeProject submission guidelines.
  6. No cheating, lying, plagiarizing articles, chicanery, or kicking.
  7. Authors may only have their article considered for multiple categories if that second category is the Overall monthly category. Under no circumstance will an article be nominated in a second category that is not the Overall monthly category.
  8. No author can be nominated twice in the same category.
  9. If an author writes has two separate articles, each article may be considered in their respective categories provided none of the aforementioned rules are broken. For example, if an author wrote two separate articles, one related to C# and one related to VB.NET, the author and article could be nominated in the C# and VB.NET competitions, respectively.
  10. In the event an author wins multiple competitions, and repeat, identical prizes, the number of prizes issued is solely at the discretion of the prize issuer.
  11. Multiple votes from the same IP will be automatically disqualified.
  12. The judges’ decision is final and no correspondence will be entered into.
  13. Only those who live in jurisdictions in which this contest is legal may enter.
  14. Any breach of the rules and the prize will be awarded to the runner up.
  15. By entering the contest you agree to the rules, conditions of entry, and agree that your member alias and any submitted material can be used for promotional purposes by CodeProject.
  16. Entries shall be deemed to be submitted by the authorized account holder of the email address submitted at the time of entry unless clearly indicated otherwise. "Authorized account holder" is defined as the natural person who is assigned to an email address by an internet access provider, on-line service provider, or other organization (e.g. business, educational institution, etc.) that is responsible for assigning email addresses for the domain associated with the submitted email address.

Eligibility

This competition is open to software development professionals & enthusiasts who are of the age of majority in their jurisdiction of residence; however, residents of Quebec and of the following countries are ineligible to participate due to legal constraints: Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria. Employees (or a member of their immediate family) of CodeProject or any of their affiliates, subsidiaries, advertising or promotional agencies are also ineligible to participate. Void where prohibited by law.

How to Enter

Entry is by the submission process described. Please read the submission requirements before submitting your entry.

Lost, late, misdirected, or illegible entries will be disqualified. Any entry containing content that CodeProject deems objectionable for any reason will be disqualified. All decisions of CodeProject with respect to any aspect of the competition, including, without limitation, the eligibility of entries, are final and binding on all entrants in all matters as they relate to this competition. CodeProject reserves its right to modify the Rules.

CodeProject assumes no responsibility for lost, late, delayed, destroyed or misdirected mail, voice messages, email or any computer errors or malfunctions. No correspondence will be entered into with entrants.

CodeProject does not assume any responsibility for incorrect or inaccurate capture of entry information, technical malfunctions, human or technical error, lost, delayed or garbled data or transmissions, omission, interruption, deletion, defect or failures of any telephone or computer line or network, computer equipment, software or any combination thereof. Entry materials/data that have been tampered with or altered are void. If for any reason, in the opinion of CodeProject in its sole discretion, the competition is not capable of running as originally planned, or if the administration, security, fairness, integrity or the proper conduct of the competition is corrupted or adversely affected, including by reason of infection by computer virus, bugs, tampering, unauthorized intervention, fraud, technical failures or any other causes beyond its control, CodeProject reserves its right to cancel, terminate, modify, amend, extend or suspend the competition including cancelling any method of entry, and select a winner from previously received eligible entries. CodeProject reserves its right in its sole discretion to disqualify any individual it finds to be tampering with the entry process or the operation of the competition or to be acting in violation of the Rules or otherwise in a disruptive manner. CodeProject reserves its right to seek remedies and damages to the fullest extent of the law for any attempts to deliberately damage the competition web site or to undermine the legitimate operation of this competition. CodeProject shall not be held responsible for any errors or negligence that may arise or occur in connection with the competition including any damage to an entrant's computer equipment, system, software or any combination thereof, as a result of their participation in this competition or from downloading any material from the competition website where applicable.

You must sign in to participate in this contest.
This contest has ended.
1 Dec - 31 Dec 2013