Click here to Skip to main content
15,883,778 members
This competition has ended

Best C# Article of April 2016

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.

Please Sign up or sign in to vote.
13 Apr 2016Simon B.
How to localize an ASP.NET MVC application and read all text from a database while still using DataAnnotations.
Please Sign up or sign in to vote.
22 Apr 2016Darryl Bryk 1 alternative  
C# code for a low-pass Butterworth filter is presented
Please Sign up or sign in to vote.
19 Apr 2016Clifford Nelson
A set of extension methods to support conditional Expression Bodied Functions and Properties
Please Sign up or sign in to vote.
23 Apr 2016Kenneth Haugland
Create B-Spline and NURBS curves and learn how to use and manipulate them.
Please Sign up or sign in to vote.
1 Apr 2016Clifford Nelson
This article presents a simple bar graph using an ItemsControl with a custom DataTemplate
Please Sign up or sign in to vote.
8 Apr 2016Dmitry Zinchenko
Null-conditional operator in C# 6.0 is not just a mere convenient syntactic sugar.
Please Sign up or sign in to vote.
6 Apr 2016Bill Wagner
C# feature proposal - new access modifier
Please Sign up or sign in to vote.
27 Apr 2016Clifford Nelson
This article presents a way to display a message in a single control with several sources in a priority order
Please Sign up or sign in to vote.
12 Apr 2016Kenneth Haugland
The origin, design and usages of octave band frequencies and designing weight filters
Please Sign up or sign in to vote.
31 Mar 2016Greg Barbados
This article provides a solution to add data validation to Excel cells in C#.
Please Sign up or sign in to vote.
1 Apr 2016Carey Payette
The problem I am looking to solve while evaluating the LEADTOOLS SDK is to use a photo of a hard copy page of text taken with my phone, have it processed and displayed in the document viewer, then have it converted to Word format so that it can be easily edited.
Please Sign up or sign in to vote.
8 Apr 2016V.
Convert FITS file to known image formats and use those images for a "zooming" functionality (image transparency)
Please Sign up or sign in to vote.
18 Apr 2016Ankita Biswas Bhattacharya
Here, I will explain how you can work with SQL views in lightswitch and how you can save data on screens which are created on Views.
Please Sign up or sign in to vote.
13 Apr 2016Steve Grundy
This article describes using the Windows MIDI API functions in a managed environment.
Please Sign up or sign in to vote.
12 Apr 2016Jalapeno Bob
A VB.NET version of Ray Koopa's 21 Mar 2016 article, Getting All "Special Folders" in .NET
Please Sign up or sign in to vote.
17 Apr 2016Anton Angelov
An overview how to utilize the Null Object Design Pattern to simplify the automated tests' code and to make it less error prone.
Please Sign up or sign in to vote.
21 Apr 2016ryanba29
I am going to demonstrate how to convert an address to a latitude and longitude using Google Maps Geocode. Then take the latitude and longitude and build a Uri that opens that place in Google Maps.
Please Sign up or sign in to vote.
24 Apr 2016Marc Clifton
A road trip to implement generic TaskCompletionSource for non-generic message event types
Please Sign up or sign in to vote.
3 Apr 2016EngineerSpock
Objects Equality in C#
Please Sign up or sign in to vote.
9 Apr 2016JohnnyCee
This article demonstrates how to use simple parsing techniques to detect URLs in user-supplied text.
Please Sign up or sign in to vote.
10 Apr 2016Anton Angelov
Learn how to create multiple grid controls' automated tests that reuse their assertion logic to the maximum extent through different OOP techniques. The post Advanced Reuse Tactics for Grid Controls Automated Tests appeared first on Automate The Planet.
Please Sign up or sign in to vote.
19 Apr 2016Sacha Barber
Entity framework 7 in memory provider test
Please Sign up or sign in to vote.
23 Apr 2016n.podbielski
This is another article in the mini series of Xamarin bugs and workarounds for them. 
Please Sign up or sign in to vote.
23 Apr 2016Simon B.
This article shows a cool trick to display a loading animation while waiting for a download to start. If the download starts, the animation is automatically hidden.
Please Sign up or sign in to vote.
14 Apr 2016Asmita Bhurke
Generate work items report from TFS including their associated changeset details
Please Sign up or sign in to vote.
3 Apr 2016Sumit Samediya
In this article, we will learn how to send Push notifications to Windows phone 8.1 app using php
Please Sign up or sign in to vote.
10 Apr 2016Dmitriy Gakh
One new method of explaining of boxing and unboxing
Please Sign up or sign in to vote.
22 Apr 2016Khademul Basher
How to use client side JavaScript toolkits such as Gulp and Bower with ASP.NET 5 project using Visual Studio 2015
Please Sign up or sign in to vote.
23 Apr 2016Anton Angelov
Improve your tests even further using the Null Object Design Pattern. Enhance your null objects through the usage of the Singleton Design Pattern or IoC container.
Please Sign up or sign in to vote.
12 Apr 2016Shao Voon Wong
New SAX parsing model comes to .NET!
Please Sign up or sign in to vote.
1 Apr 2016Anton Angelov
Detailed explanation how to design proper automated tests for grid controls. Includes examples for testing grid's paging.
Please Sign up or sign in to vote.
12 Apr 2016Darryl Bryk
A C# class for utilizing the Microsoft chart control to graph data as a line series is described.
Please Sign up or sign in to vote.
1 Apr 2016Neeraj Kaushik1980
Walk-through implementation to “Place an Order on via FIX message channel”
Please Sign up or sign in to vote.
2 Apr 2016EngineerSpock
Global exceptions handling in WPF
Please Sign up or sign in to vote.
9 Apr 2016Southmountain
A discussion on how to upload NLog configuration into version control system for beginners. Two configurations are given here.
Please Sign up or sign in to vote.
12 Apr 2016Stefano Castelli
The following article was born from a wish to share a deep re-elaboration of a nice tip about sorting rectangular arrays
Please Sign up or sign in to vote.
12 Apr 2016Bill Wagner
C# 7 proposal: with-expressions
Please Sign up or sign in to vote.
18 Apr 2016Shawn1Xu
OData Interoperability with .NET C# and Java applications
Please Sign up or sign in to vote.
19 Apr 2016mbarbac
Intercepting the Garbage Collector with Listeners that allow us to create C# Soft References and truly Weak Collections
Please Sign up or sign in to vote.
23 Apr 2016n.podbielski
Xamarin Frame and Style with Padding
Please Sign up or sign in to vote.
23 Apr 2016Prasoon Madnawat
This articles describes how to write a caching solution using Redis on .NET platform.
Please Sign up or sign in to vote.
23 Apr 2016n.podbielski
If you are using Styles in Xamarin, you probably know how to define implicit styles. But how to inherit from them in other Styles? It is possible but require so work. Here is how you can do it.
Please Sign up or sign in to vote.
8 Apr 2016marceloarguello700
Load a Rhinoceros plugin through MEF
Please Sign up or sign in to vote.
9 Apr 2016davehibshman
A simple command line based app to announce the currently logged on user using the Speech API
Please Sign up or sign in to vote.
17 Apr 2016Alex_2979
A lot of modern Business Intelligence solutions offer to transfer work of analysts to developers or rise technical level of business analysts, make them closer to developers. Instead of it, I advise to consider a solution, which takes information from Database and gives it to business analysts.
Please Sign up or sign in to vote.
19 Apr 2016Arvind Kumar
This article and associated project demonstrate how to use XDocument to edit log4net config files.

Current Participants

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

Russian Federation Russian Federation
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior)
India India
I have more than 4 years of work experience in .Net technology. I have worked extensively in ASP.NET MVC, C#, Entity Framework. I have basic knowledge in Javascript, Jquery, HTML, CSS, SQL. Recently I am exploring Lightswitch 2013. Although I am a software developer by profession but I am a huge fan of Shreya Ghoshal, Lata Mangeshkar, Kishore Kumar, Sonu Nigam, Shantanu Moitra, R D Burman, Salil Choudhury and Madan Mohan Music's.
CEO Automate The Planet
Bulgaria Bulgaria
CTO and Co-founder of Automate The Planet Ltd, inventor of BELLATRIX Test Automation Framework, author of "Design Patterns for High-Quality Automated Tests: High-Quality Test Attributes and Best Practices" in C# and Java. Nowadays, he leads a team of passionate engineers helping companies succeed with their test automation. Additionally, he consults companies and leads automated testing trainings, writes books, and gives conference talks. You can find him on LinkedIn every day.
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect Bill Wagner Software LLC
United States United States
Bill Wagner is one of the world's foremost C# developers and a member of the ECMA C# Standards Committee. He is President of the Humanitarian Toolbox, has been awarded Microsoft Regional Director and .NET MVP for 10+years, and was recently appointed to the .NET Foundation Advisory Council. Wagner currently works with companies ranging from start-ups to enterprises improving the software development process and growing their software development teams.
Software Developer (Senior)
United States United States
Carey Payette is a Senior Software Engineer with Trillium Innovations, a Progress Developer Expert, as well as an ASPInsider. She has interests in IoT and is a member of the Maker community. Carey is also a wife, and mom to 3 fabulous boys. She is a 2nd degree black belt in TaeKwonDo and enjoys coding for fun!
Software Developer (Senior) Clifford Nelson Consulting
United States United States
Has been working as a C# developer on contract for the last several years, including 3 years at Microsoft. Previously worked with Visual Basic and Microsoft Access VBA, and have developed code for Word, Excel and Outlook. Started working with WPF in 2007 when part of the Microsoft WPF team. For the last eight years has been working primarily as a senior WPF/C# and Silverlight/C# developer. Currently working as WPF developer with BioNano Genomics in San Diego, CA redesigning their UI for their camera system. he can be reached at qck1@hotmail.com.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior) Cerner Corp.
United States United States
I have been developing software for 30+ years as a hobbyist and 20+ as an employed professional. I bought my first computer, a Tandy CocCo3, back 1987 to teach myself computer game and music programming. I have since been employed in startups, the D.O.D., and several large Fortune 500s across the telecomm, financial, and health services sectors. At this point I have forgotten as much, or more, as I've learned, but I still love to learn.
Software Developer (Senior)
Azerbaijan Azerbaijan
Software Developer/Analyst/Architect/Researcher, IT Application Expert, Trainer-Instructor

Current project:
www.GoMap.Az[^]
United States United States
I am a software developer who likes to learn new technologies.
Software Developer
Russian Federation Russian Federation
You can bear with me via any social network you see in my profile. Also, you can just write me an e-mail to engineerspock@outlook.com.

I've been working with .NET platform since 2003. I've been professionally architecting and implementing software for nearly 7 years, primarily based on .NET platform. I'm passionate about building rich and powerful applications using modern technologies. I'm a certified specialist in Windows Applications and Service Communication Applications by Microsoft.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior) S & D Acres
United States United States
BSEE 1972, Polytechnic Institute of Brooklyn, Brooklyn, NY
MSCS 1978, Stevens Institute, Hoboken, NJ

Now, I live in Texas with my wife and children and raise non-dairy (aka "meat") goats and chickens for fun and (maybe next year) profit.

As a hobby (we all need one, don't we?? Smile | :) ), I write agriculture-related software and play with O-gauge trains.
Web Developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Chief Technology Officer
Norway Norway
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Founder http://softwarelandmarks.com/
Bangladesh Bangladesh
I am in Software Development for more than 12 years. I am expert on Microsoft Platform for Web Forms, MVC, MVC Core, Web API, Desktop App, PHP etc. I am also expert on jQuery, AngularJS, Bootstrap, Font Awesome, Telerik UI, Kendo UI etc. I know BackboneJS, KnockoutJS also. I am an article writer. I have many articles in CodeProject.

Email: khademulbasher@gmail.com
Architect Interacx
United States United States
Blog: https://marcclifton.wordpress.com/
Home Page: http://www.marcclifton.com
Research: http://www.higherorderprogramming.com/
GitHub: https://github.com/cliftonm

All my life I have been passionate about architecture / software design, as this is the cornerstone to a maintainable and extensible application. As such, I have enjoyed exploring some crazy ideas and discovering that they are not so crazy after all. I also love writing about my ideas and seeing the community response. As a consultant, I've enjoyed working in a wide range of industries such as aerospace, boatyard management, remote sensing, emergency services / data management, and casino operations. I've done a variety of pro-bono work non-profit organizations related to nature conservancy, drug recovery and women's health.
Argentina Argentina
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Spain Spain
mbarbac has worked in start-ups, multinational tech companies, and consulting ones, serving as CIO, CTO, SW Development Director, and Consulting Director, among many other roles.

Solving complex puzzles and getting out of them business value has ever been among his main interests - and that's why he has spent his latest 25 years trying to combine his degree in Theoretical Physics with his MBA... and he is still trying to figure out how all these things can fit together.

Even if flying a lot across many countries, along with the long working days that are customary in IT management and Consultancy, he can say that, after all, he lives in Spain (at least the weekends).
Software Developer
Poland Poland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect Saxo Bank A/S
Denmark Denmark
• Solution Architect /Principle Lead Developer with 12 years of IT experience with more emphasize on Capital Domain and Investment banking domain.
• Strong experience in Continuous Integration, Delivery and DevOps solutions.
• Strong experience in drafting solutions, stakeholder communications and risk management.
• Proved strong coding and designing skills with agile approaches (TDD, XP framework, Pair Programming).
• Delivered many projects with involvement from inception to delivery phase.
• Strong experience in high performance, multithreaded, low latency applications.
• Ability to communicate with the business and technical stake holders effectively.
• Have extensive experience in Capital Market Domain: Front Office & BackOffice (Algorithm Trading tools, messaging framework, Enterprise bus, integration of FIX APIs and many trading APIs).
• Functional knowledge of Portfolio/Wealth Management, Equities, Fixed Income, Derivatives, Forex.
• Practical knowledge of building and practicing agile delivery methodologies (SCRUM, TDD, Kanban).

Technical Skills

• Architectural: Solution Design, Architectural Presentations (Logical, Component, Physical, UML diagrams)
• Languages: C#, C++
• Server Technologies: WCF, Web API,
• Middle Ware: ActiveMQ, RabbitMQ, Enterprise Service Bus
• UI Technologies: Winforms and WPF
• Web Technologies: Asp.Net Mvc, KnockOutJS, JQuery, Advance Java Scripts Concepts
• Databases: Sql Server 2008 +, MySQL
• Tools/Frameworks: TFS, SVN, NUnit, Rhino Mocks, Unity, NAnt, QuickFix/n, Nhibernate, LINQ, JIRA,

Functional Skills

• Wealth Management System, Trade Life Cycle, Trading Components and their integrations
• Working knowledge of Stocks, Bonds, CFDs,Forex, Futures and Options
• Pricing Systems, Market Data Management,
• BackOffice Processes : Settlement Processes, Netting, Tax, Commissions, Corporate Actions Handling,
• Reporting Solutions : OLTP and OLAP Data model designing
• FIX Engine implementation and integration
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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
Software Developer (Senior)
Singapore Singapore
Shao Voon is from Singapore. His interest lies primarily in computer graphics, software optimization, concurrency, security, and Agile methodologies.

In recent years, he shifted focus to software safety research. His hobby is writing a free C++ DirectX photo slideshow application which can be viewed here.
Architect
United States United States
I am a software developer and architect and have a passion for new technologies.
Software Developer Sevitec Informatik AG
Switzerland Switzerland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
United States United States
turns good thoughts into actions...

United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior)
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior)
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
V.
Software Developer
Belgium Belgium
Graduate Computer Sciences.
My interests go out to music and movies.
Author of the infamous MQOTD
Creator of this video
Software Developer
Australia Australia
I started my IT career in programming on different embedded devices since 1992, such as credit card readers, smart card readers and Palm Pilot.

Since 2000, I have mostly been developing business applications on Windows platforms while also developing some tools for myself and developers around the world, so we developers could focus more on delivering business values rather than repetitive tasks of handling technical details.

Beside technical works, I enjoy reading literatures, playing balls, cooking and gardening.

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. Entries must be an article, or blog entry.
  3. With the exception of the Everything Else 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. Articles entries must follow the CodeProject submission guidelines.
  5. No cheating, lying, plagiarizing articles, chicanery, or kicking.
  6. Articles may only be considered for a single category. If an article is eligible for multiple categories (for example, it pertains to both the C# and Web Dev categories), CodeProject editors and judges will decide which category the article shall be entered in.
  7. No author can be nominated twice in the same category.
  8. 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 articles could be nominated in the C# and VB.NET competitions, respectively.
  9. 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.
  10. In the event an article has multiple authors and/or contributors, the number of prizes issued is solely at the discretion of the prize issuer.
  11. In the event of a tie,  the number of prizes issued is solely at the discretion of the prize issuer.
  12. Multiple votes from the same IP will be automatically disqualified.
  13. The judges’ decision is final and no correspondence will be entered into.
  14. Only those who live in jurisdictions in which this contest is legal may enter.
  15. Any breach of the rules and the prize will be awarded to the runner up.
  16. 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.
  17. 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 above. Please read the submission requirements before submitting your entry and ensure the article is tagged with at least one of the tags corresponding to that competition's category.

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 Apr - 30 Apr 2016