Articles filed in category 'C#'

  • Finalize Column Sept/Oct 2005 Ken Getz
  • In component-based programming, the basic unit of use in an application is a binary-compatible interface.The interface provides an abstract service definition between the client and the object. This is in contrast to the object-oriented view of the world that places the object implementing the interface at the center. An interface is a logical grouping of method definitions that acts as the contract between the client and the service provider. Each provider is free to...See More
  • Web services are all about connecting businesses in a standard and secure manner.For a real-life Web service, security is intrinsic to every facet of operation and no party would ever agree to interact with a non-secure Web service. Unfortunately, Web services security is still in its infancy; standards such as WS-I are just emerging and there is no built-in support in the development tools for them. That being said, there are quite a few programming techniques you can u...See More
  • One of the biggest issues in getting started with SharePoint development are the 2091097 steps you need to go through, and the heavy duty machine you need to invest in, to create a development environment for a SharePoint and Office developer. This is not unlike the fact that creating and running a production SharePoint farm can be extremely time-consuming.
  • Paul begins a new series of articles on how to create a WPF business application. This first one teaches how to use a message broker to eliminate strong coupling between classes, how to display status and information to the user while resources are loading, and how to load user controls onto a single window while aggregating controls and building a large screen.
  • In this article, Rick plays with the beta version of ASP.NET vNext. You’ll get to see what’s (probably) coming so you can start making plans.
  • Data-bound controls play a key role in the development of ASP.NET applications. Data-driven controls allow you to associate their whole interface, or individual properties, with one or more columns of a .NET-compliant data source. In this article, I'll delve into the depths of an extremely versatile data-bound control that is a fixed resence in any real-world ASP.NET application - the DataGrid control. I'll focus on the key programming aspects of the control, including d...See More
  • Consider this hypothetical: You need to track different ways it is permissible to contact a customer.Or perhaps there are multiple attributes you wish to attach to an entity. Further, perhaps you want to define new attributes that can vary from entity to entity. From a database perspective, this can present a thorny problem. Fortunately, indexers in C# provide an elegant solution to the problem. In this article, I will show you how to use indexers to expand an organizati...See More
  • Many people will not be able to upgrade to Windows 8 right away for various reasons. However, there is nothing to stop you from designing your WPF applications to have a similar look and feel.
  • In part 1 of this article, you learned how to create a Windows 8 look and feel for your WPF applications. You were shown a high-level overview of the various components that made up the shell for navigating. In part 2 of this article you will learn to create a WPF Button user control, a Message Box you can style, and a simple Message Broker System. All of these components are used to create the “Windows 8 Style” WPF shell you learned about in part 1.
  • In Part 1 of this article you learned how to create a Windows 8 look and feel for your WPF applications. In Part 2 of this article you learned to create a few of the user controls that went into making the shell application. In this final article in this series, you will learn how to create the last few user controls that I used to create the Windows 8 Shell application. In this article, you will learn to put together a WPF Image button, an Image button with text and fin...See More
  • You can avoid all that pesky overhead when dealing with multiple platforms by using Microsoft’s library of APIs, Xamarin.Forms. Wei-Meng shows you how to efficiently map to the various platforms’ respective native UI elements at run time.
  • Microsoft recently released the ASP.NET MVC 4.0 beta and along with it, the brand spanking new ASP.NET Web API. Web API is an exciting new addition to the ASP.NET stack that provides a new, well-designed HTTP framework for creating REST and AJAX APIs (API is Microsoft’s new jargon for a service, in case you’re wondering). Although Web API currently ships and installs with ASP.NET MVC 4, you can use Web API functionality in any ASP.NET project, including WebForms, WebPage...See More
  • jQuery is a small JavaScript library that makes development of HTML-based client JavaScript drastically easier. With client logic getting ever more complex and browsers still diverging in features and implementation of features, jQuery and other client libraries provide much needed normalization when working with JavaScript and the HTML DOM.
  • When I was asked to write a few pages on what's coming in the next version of Microsoft Visual Studio .NET (code named Whidbey), the biggest issue I had was how to limit this article to a few pages.I opted to list a few categories and drill down into each. I'm not going to cover everything, just some key items in each area. Please note that not all of these changes are implemented in the PDC build that attendees are receiving, and that some of these features are still in...See More
  • Apps are the biggest change in SharePoint 2013. Over the past many years, SharePoint developers have been trying to figure out how to make applications work securely with each other, without users dealing with excessive passwords. Ideally, enterprises should have the confidence that installed software isn’t doing more than what they think it is doing. All this is being solved with SharePoint Apps.
  • Doc Detective - July/August 05
  • Hot on the heels of the groundbreaking release of ASP.NET MVC 1.0, the ASP.NET MVC team at Microsoft has already released the first Community Technology Preview (CTP) of version 2.I have already predicted that Microsoft’s MVC Framework will become the new way to develop Web applications on top of ASP.NET. In this article, I will give a first look at the plans for version 2 and some of the features that already work in the first CTP.
  • In the first installment of this series, I explored a few of the new features in ASP.NET MVC 4, including the new default project templates, mobile templates, and display modes. Since that article, ASP.NET MVC 4 has been released to beta. For brevity’s sake, when I refer to MVC the design pattern, I’m referring to the ASP.NET implementation of the pattern. In this installment, I’m going to focus on one of MVC’s most useful features: integrated JavaScript and CSS bundling and minification.
  • Getting friendly with HTML in ASP.NET MVC just got a whole lot easier.In this article, I’ll delve into the Spark View Engine, an alternate view engine for the ASP.NET MVC Framework. Spark’s main goal is to allow HTML to dominate the flow of view development while allowing code to fit in seamlessly.
  • When you make a method call on an object, typically you must block the client while the object executes the call, and control returns to the client only when the method completes execution and returns.However, there are quite a few cases where you want to call methods asynchronously?that is, you want control to return immediately to the client while the object executes the called method in the background, and then somehow let the client know when the method execution is ...See More
  • By providing the history of asynchronous and await patterns, Bill examines the benefits of using these techniques in developing new apps and when it comes to the maintenance or revision of legacy code.
  • Windows Forms applications often require some sort of asynchronous invocation option.You rarely want to block the user interface while a lengthy operation executes in the background. Windows Forms pose a set of complicated design and implementation issues when it comes to asynchronous method invocation and multithreading due to the underlying Windows messages processing. Although .NET does provide a uniform asynchronous invocation mechanism (described in my article, "Asy...See More
  • Encapsulate asynchronous functionality directly into your business objects.The .NET Framework facilitates calling object methods asynchronously through the use of delegates. You may already know how to do this using helper code, but there is a cleaner and much cooler way of packaging this kind of functionality right inside your business objects.
  • The official release of Microsoft's Web Services Enhancements (WSE) toolkit promises to help developers deal with at least some of the pain and suffering accompanying the emerging Web services' standards.Updated to support the OASIS WS-Security specification and a promising WS-Policy specification, developers will be able to build standards-compliant Web services in less time and with less code.
  • July August 2008 .Finalize(): column by Ken Getz.
  • If you’ve been developing IDEs in .NET, you’ve probably heard about JetBrains’ Rider. Chris and Maarten show you that the time is right to dive in.
  • Configuration settings make it possible for users and administrators to configure an application before it is run for the first time and while it runs..NET provides a good rudimentary mechanism for storing and retrieving configuration settings in the application's .config file with the ConfigurationSettings class, but this mechanism is missing a number of essential features. This article describes how to improve on the base functionality using a class that provides stron...See More
  • In this article, you will create a CODE Framework RESTful service and an iPhone application from scratch. For the client side, you will utilize XCode (yes, you’ll need a Mac!), which uses Objective-C as the primary language. This article won’t teach you the language; you need to know the basics of Objective-C. Even if you don’t know anything about it but want to code right away, read the article “Building a Twitter Search Client on iOS,” by Ben Scherman, available for al...See More
  • In this article, we take a look at what’s involved with building a simple Twitter Search client for Windows Phone. We will cover what tools you need, where to download them, how to design, build and test the app and finally, how to publish it to the Windows Phone Marketplace.
  • With the functionality provided by the .NET runtime, building data access components with C# (pronounced "c-sharp") is not difficult.In this article, we discuss how to access data stored in a SQL Server database. We will then review the steps necessary to build a Dynamic Link Library and an Executable file in C# to query a table and display the results.
  • At the JAOO conference in Aarhus, Denmark this year, domain specific languages came up in virtually every conversation. Every keynote mentioned them, a lot of sessions discussed them (including a pre-conference workshop by Martin Fowler and myself), and you could hear “DSL” in most of the hallway conversations. Why this, and why now?
  • The next version of C# will feature a code refactoring engine built into the Visual Studio environment.A term coined by Martin Fowler, code refactoring allows you to change the code structure without changing or affecting what the code itself actually does. For example, changing a variable name or packaging a few lines of code into a method are code refactoring. The main difference between C# 2.0 refactoring and a mere edit or find-and-replace is that you can harness the...See More
  • C# 3.0 includes a few syntactical additions to the language. For the most part, Microsoft added these language additions to support Language Integrated Query (LINQ). These features include (but are not limited to) lambda expressions, extensions methods, anonymous types, implicitly typed local variables, automatic properties, and object initializers.
  • New computer languages are rare and successful ones are rarer still, yet Microsoft decided to create a new language to go along with the .NET Developer Platform. Why weren't existing languages good enough?
  • WPF excels at creating great looking applications.
  • Essential C# 2.0 is a clear, concise guide to C#—including the features new to C# 2.0. The book clearly presents material for beginners and experts and provides contrasts and comparisons between C# and other languages. The C# language is covered comprehensively and each important construct is illustrated with succinct code examples. Complete code examples are available online. Mark Michaelis has organized the material for quick access. Graphical “mind maps” at the beginn...See More
  • In a prior installment of this series of articles about CODE Framework (“CODE Framework: Writing MVVM/MVC WPF Applications”, Jan/Feb 2012), I discussed how to use the WPF features of CODE Framework to create rich client applications in a highly productive and structured fashion reminiscent of creating ASP.NET MVC applications, although with WPF MVVM concepts applied. In this article, I will dive deeper into the subject and discuss the unique benefits of the CODE Framewor...See More
  • In prior articles, I have shown how to create WPF-based applications using the CODE Framework and the MVVM and MVC patterns. This enabled developers to create quality applications quickly and in a fashion that can easily be understood by developers of all skill levels. In those articles I showed how to use view-models and views to create UIs. In this article, I am going to take this concept further by showing you how you do not even have to create new views and view-mode...See More
  • In the last issue of CODE Magazine, we took a look at CODE Framework’s WPF features. This time, we are going to look at a completely different area of the framework: Creating business logic and middle tiers as SOA services. SOA is the cornerstone of many modern applications, creating systems that are more maintainable, flexible, and suitable for a wide range of scenarios, ranging from Windows to Web and Mobile scenarios using a wide variety of technologies, and outperfor...See More
  • In prior articles, I have shown how to create WPF-based client applications using the CODE Framework and the default themes it ships with. This is a great way to create applications quickly yet make them very reusable and maintainable. However, using the default themes is just the tip of the iceberg. CODE Framework’s theming system is completely open and the default options are just that: defaults. And it turns out to be surprisingly straightforward to create your own themes.
  • The CODE Framework WPF features (based on MVVM and MVC concepts) have become very popular amongst .NET developers, thanks to ease of development paired with a high degree of freedom, control and reuse. Another CODE Framework module takes these concepts and extends them into the domain of documents and printing. Many applications use third-party reporting products to create print and report output, and those products certainly have a good reason for existence and aren’t e...See More
  • Creating custom column types for the DataGridView control isn’t nearly as tricky as it once was.In this article, you’ll learn how to take advantage of inheritance to create your own bar graph column in a grid cell.
  • Those helpful buttons for minimize, maximize, and close functions need to be added to your WPF pages if you don’t want to crowd your user’s screen. Paul shows you how.
  • Having a custom control display properly is a challenge in itself.Getting your custom control to behave the way you want it to is only half the work. Once you get to the visual side of things you have to create the logic that generates the actual HTML shown in the browser. If you want the control to display properly, this can be a tedious task, especially if you want it to render properly in different browsers.
  • Almost every programmer knows (unless you have been living under a rock for the last five years or so) that you should be using classes for all of your programming. You should also be using collections of objects instead of using a Data Reader, a DataSet, or a DataTable in your applications. The reasons for using collections are many and are explored in this article.
  • Skinned controls make a user interface very flexible.With skinned controls, the functionality and the presentation of a server control are effectively separated, making it very easy to change the presentation of the control. If used properly, you can use skinned controls to change the look of an entire Web site by just selecting a separate set of skins.
  • In the Fall of 2002, Microsoft introduced Tablet PCs based on the popular Windows XP operating system.By default, this new platform includes applications with special Tablet PC features enabled, such as Ink Input and Pen-based operation. In order for this platform to become truly popular, third-party vendors will also have to ink-enable their applications. Luckily, this is a pretty straightforward task.
  • In real-world applications you just can't do without encryption.The problem with cryptography, though, is that sometimes it may make you use an overly complex API. The .NET Framework classes for cryptography don't require you to become an expert mathematician or a cryptography guru. In the .NET Framework you'll find symmetric and asymmetric cryptographic providers as well as hash providers. Some of these provider classes end up calling into the unmanaged CryptoAPI librar...See More
  • C# 2.0 just shipped with a number of interesting new features: anonymous methods, nullable objects, iterators, partial classes, generics, and others. But the innovation does not stop there! Microsoft (and Anders Hejlsberg in particular) have already allowed us a sneak peek at some of the new features that will be available in C# 3.0.
  • The .Net framework provides two base classes for controls; one for Windows forms and the other for ASP.NET server controls.We can extend the existing controls by adding specific functionality to them or develop our own controls from scratch. Such controls are called custom controls. We can also group controls together and create another control, such as an address box, that contains couple of textboxes and labels. Controls that are grouped together and are based on Syste...See More
  • Software developers live and breathe debugging. It’s an essential and integral part of our day-to-day job. Whenever we are confronted with any bug in code, our typical first question is, “How can I reproduce this issue?” Any problems that cannot be reproduced are generally considered tricky to resolve. In order to really understand the challenges with debugging hard to reproduce issues, let’s walk through a few scenarios here.
  • The complex, component-style development that businesses expect out of modern software developers requires greater design flexibility than the design methodologies of the past. Microsoft's .NET Framework makes extensive use of attributes to provide added functionality through what is known as "declarative" programming. Attributes enhance flexibility in software systems because they promote loose coupling of functionality. Because you can create your own custom attribute ...See More
  • Wei-Meng gives us a step-by-step guide to making seamless cross-platform mobile apps with Xamarin.
  • Vassili extends his own custom scripting language for mobile development and makes creating and placing widgets fast and easy.
  • Microsoft released Entity Framework, an ORM (Object Relational Mapping) tool, in 2008.Entity Framework gives developers the ability to be abstracted from the underlying relational database management system and allows them to talk to a database using familiar LINQ-based syntax.
  • Have you ever watched someone impatiently click again and again on a button? Paul explains how that can slow the server down and how to prevent the delay. He also looks at glyphs that tell users that their device got the message and is working on it.
  • The task of creating dynamic ASP.NET Web Forms whose behavior is based upon user interaction and depends upon the purpose and intended goal of the Web Form.Web Forms that require only controls and functionality provided by the built-in ASP.NET Web server controls are easy to create. But creating Web Forms that require or are designed with extended controls and functionality can be a challenge.
  • This article demonstrates the techniques for compiling dynamic code in your .NET applications.
  • At this point, you’re clear that your app has to work on all platforms, especially on smartphones. Paul gets tables to adjust their sizes based on which platform is being used to view it.
  • You may think of generics as a Ferrari that you only take out for special occasions; but they are better compared to your trusty pickup, perfectly suited for everyday use.
  • As part of his series, Walt dives deeply into Xamarin.Forms and roots around in the details of the object model.
  • Many developers find that keeping up with new technologies can be challenging and a drain to limited resources. Sometimes a review of basic .NET and C# skills is useful. This review of extension methods addresses the basic concept and implementation. Thousands of implementations are most certainly found in the industry, but in this article I want to address a few popular and useful ones.
  • ASP.NET is a terrific platform for Web applications.That does not mean that tricky coding is always one or two clicks away within a dockable and resizable Visual Studio .NET dialog box. Tricky solutions require tricky coding, just the kind of features that a wizard-driven environment and a general-purpose framework can't provide. In this article, we'll tackle five ASP.NET features that require wicked and creative code.
  • The .NET Framework provides many new collection classes that you can iterate (for-each) through.But did you know that you can also iterate through values in any of your classes, not just those that use or inherit from collections?
  • The key to understanding lambda expressions is understanding delegates. Delegates play a tremendously important role in developing applications for the .NET Framework, especially when using C# or Visual Basic. Events, a special application of delegates, are used all over the framework. And the application and possibilities of delegates has only grown over time. C# 2.0 introduced the concept of anonymous methods and C# 3.0 and VB 9 take anonymous methods to the next level...See More
  • There was a time, not too long ago, when browser-based user interfaces were considered both the status quo and the Next Great Thing.The demand for Windows Forms-based applications started to dwindle as the developer community fully embraced browser/server applications with their centralized server components and ubiquitous user interfaces. .NET, however, brings a much more powerful library of distributed communication technologies (such as Web services and remoting). As ...See More
  • Our industry is constantly changing. So much so, that it is difficult to keep up sometimes.
  • You know you should be moving code out from behind your forms, windows and web pages and into stand-alone classes. Everyone preaches that this is what to do, everyone shows you examples of ViewModel classes, but no one really shows you a real-world example of how to get rid of the code behind.
  • ASP.NET represents a significant leap forward from traditional Active Server Pages (ASP) development. In this article, I'll show you what it takes to begin building ASP.NET Websites with Visual Studio .NET. This article will provide you with the knowledge you need to jumpstart your foray into the world of ASP.NET development.
  • You might have heard some things about NoSQL; how Google and Facebook are using non-relational databases to handle their load. And in most cases, this is where it stopped. NoSQL came about because scaling relational databases is somewhere between extremely hard to impossible.
  • In today’s world of fast food, fast cars, and instant gratification, people expect to be in touch at all times.We have become conditioned to staying in touch with businesses, friends, and families. Because of this desire for instant data, we have the Internet, cell phones, Wi-Fi, MP3 players, and DVD players. As the equipment needed to drive this thirst has become smaller and smaller, we find ourselves looking for portable replacements for our bulky desktop computers.
  • Visual Studio LightSwitch applications consist of three tiers: presentation, logic and data. This article discusses the logic tier and its save pipeline. The save pipeline is where developers write business logic that runs as changes are processed on the logic tier and saved to the data storage tier. The save pipeline is automatically generated with every LightSwitch application. Understanding the processing done in the save pipeline is not required to successfully build...See More
  • Since the release of .NET 1.0 more than ten years ago, the classes governing identity have remained unchanged. That’s a good thing, because identity and security is at the core of most applications, so you don’t want that to change very often. However, with the release of .NET 4.5, the identity model has changed significantly.
  • Create a base form class to ensure that all of the forms in your application behave consistently. This technique minimizes the amount of repetitive code you need to write to manage the user's interaction with your forms.
  • Wow, another year has gone by, and as you read this, you are probably returning to the office after a few more or less relaxing holiday time spent with friends and family and a New Year's celebration. Interesting things have happened in our industry in the last 12 months, but I predict that the next 12 months will be quite a bit more interesting! Seldom before have I been as excited about new technologies and developments as I am now.
  • Many .NET developers have heard of the Dynamic Language Runtime (DLR) but they don’t quite know what to make of it. Developers working in languages like C# and Visual Basic sometimes shirk dynamic programming languages because they fear the scalability problems that have historically been associated with using them. Also of concern is the fact that languages like Python and Ruby don’t perform compile-time type checking, which can lead to runtime errors that are very cost...See More
  • Take the first step in raising your robot army and meet the Arduino, the microcontroller designed to be approachable and fun. From blinky lights to motors, temperature sensors to wi-fi, RFID to MIDI, you can make your code do stuff.
  • Have you ever thought that the language you were coding in lacked some important tools? Vassili shows you how to write your own language without building a compiler.
  • When it’s time to wire your house to precipitate your every whim or need, you want to be sure that your robot doesn’t mistake “catsup” for “catnip.” Sahil talks about facial recognition and how it’s connected to speech and understanding.
  • If your application uses multi-threading, immutability should be part of it. John covers how to enforce and work with immutable objects, despite C#’s lack of native support for them.
  • Microsoft Visual Studio LightSwitch uses a model-centric architecture for defining, building, and executing a 3-tier LightSwitch application.
  • Google now offers the functionality of its search engine through a Web service.Over the past couple years, Google has become the most popular search engine used on the Web. Building upon its popularity, Google has developed additional search accessories and interfaces for both personal and commercial use. The most powerful interface offered by Google is exposure of its database and search capabilities through the use of a Web service.
  • Ten years after the release of the .NET Framework, Microsoft is stirring the pot again with a new development platform that set’s to focus your talents on what everyone is betting is the next big thing, mobile devices; specifically in this case, tablets. The Windows Runtime, or WinRT, is the foundation for the development of applications designed to target Windows 8-driven touch-enabled devices, but what does that mean for .NET developers and their existing skill sets?
  • If you’re looking to improve your app’s performance, you’re probably already cross-platform and open source, and you already know that .NET Core is a great tool for that goal. Ahson lets us in on what’s new in .NET Core 2.1 with a focus on Span<T> and Memory<T>.
  • Martin introduces Design by Contract and Code Contracts, and gives you a sneak preview of Pex—Microsoft’s new test-suite generator. Along the way, he will show you how to add contracts to ADO.NET entities and some interesting coding strategies, good practices, and pitfalls you may encounter while making a deal with your code.With Code Contracts, Microsoft delivers its own flavor of Design by Contract for the .NET Framework. But wait, what is this thing sometimes called C...See More
  • What does XNA stand for? It’s a recursive acronym that stands for “XNA’s Not Acronymed”. Aren’t developers fun?
  • Special tools are necessary to make the switch from clunky desktops to fluid mobile apps, and if you want to give your mobile device (or your clients’) access to the Internet of Things (IoT), you need to know about them. Wei-Meng and Clarence have done the hard part of researching it, and they recommend Raspberry Pi.
  • Sept/Oct 08 Editorial by Rod Paddock
  • At PDC 2005, Microsoft introduced brand new technology known as LINQ, which stands for “Language Integrated Query.”The feature-set hiding behind this acronym is truly mind-boggling and worthy of a lot of attention. In short, LINQ introduces a query language similar to SQL Server’s T-SQL, in C# and VB.NET. Imagine that you could issue something like a “select * from customers” statement within C# or VB.NET. This sounds somewhat intriguing, but it doesn’t begin to communicate the power of LINQ.
  • When people think of having to store data for their applications, a database such as SQL Server immediately comes to mind. However, XML files are very handy for storing data without the overhead of a database. Using XML files to cache often-used, but seldom changed data such as US state codes, employee types and other validation tables can avoid network roundtrips and speed up your application. In addition, XML files are great for off-line applications where a user needs...See More
  • At PDC 2005, Microsoft announced a new technology called Language Integrated Query (LINQ), which will be available with Visual Studio “Orcas” (the next version of Visual Studio). A lot of exciting new technologies are announced at every PDC, and as a result, LINQ got some attention, but not nearly as much as I think it deserves. LINQ represents the ability to run queries right inside of Visual Basic, C#, or any other .NET language.
  • Microsoft demonstrated a new technology at PDC called LINQ (Language Integrated Query). The following note from Alan Griver, a member of the LINQ team at Microsoft, offers some details related to the LINQ project. In future issues of CoDe Magazine we will have more details on LINQ.Microsoft demonstrated a new technology at PDC called LINQ (Language Integrated Query). The following note from Alan Griver, a member of the LINQ team at Microsoft, offers some details related ...See More
  • I have a client that has a few Windows Services and some EXEs that run on a computer to perform various business functions. Every once in a while, the processes fail and need to be restarted. I helped the client write a Windows Service to monitor their running processes and ensure that they are up and running and to notify them and to attempt to restart those processes. As part of this process, I had to write a class to get a list of all of the processes running on the c...See More
  • You’re probably already using Markdown for HTML text entry and formatting your README.md files. But Markdown is good for so much more—Rick shows you parsing, stable content in a website, embedding converted HTML into a Razor output, and more.
  • Since its introduction in 2008, Microsoft Dynamics CRM 4.0 has been touted as a platform for rapid application development.We’ve always been hard core C# and ASP.NET snobs, but we were intrigued by the value that Dynamics CRM promised. We set out to build our next generation software product on that platform, and learned a lot about what’s real and what’s not so real. In this article, we will share the rollercoaster ride of our experience developing our software product ...See More
  • In this first installment of his new series, Sahil begins writing an end-to-end mobile infrastructure using some familiar tools.
  • Sahil continues his interesting series by writing a fronted to the Mobile app he wrote the backend for in the November/December 2014 issue.
  • Walt continues his series of articles on Xamarin, this time, exploring the nature of pages. You’ll learn what a page is, how to navigate among them, how to create sub-pages, and strategies for loading data onto pages.
  • Recently, I received an email comment on a blog post I wrote roughly 3 1/2 years ago. I had completely forgotten about writing the post, but as soon as I saw the title I remembered every word of it. It also got me thinking about who the guy was that wrote it... then and now.
  • July August 2008 MVP Corner by Kevin S. Goff
  • You can use Xamarin to directly access native iOS APIs and still take advantage of what you know about C# and the .NET Framework. Jason shows us just how easy it is.
  • Just when it seems like Office 365 is everywhere, you’ll learn something that makes you glad it’s so ubiquitous. Sahil begins a new series with an interesting look at Office 365’s WebHooks.
  • Just when it seems like Office 365 is everywhere, you’ll learn something that makes you glad it’s so ubiquitous. Sahil continues his new series with an interesting look at Office 365’s WebHooks.
  • Operator overloading provides an intuitive way to support mathematical and comparative operations on your objects.Operator overloading is one of those features that you don't need very often, but when you need it, operator overloading is very nice to have. You will find operator overloading in C# now, but you won't find it in Visual Basic until the upcoming Visual Studio 2005 release.
  • Brian Kernighan [1] once said, "Debugging is twice as hard as writing code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." This quote gets a little giggle out of most developers, but on the serious side, there is a lot of truth in it. Writing code that does cool or useful things certainly is much easier than writing code that does cool or useful things reliably.
  • Polyglot programming refers to leveraging existing platforms by solving problems via solutions that compose special purpose languages.This concept leverages the multi-language nature of the CLR to create simpler solutions to vexing problems. This article delves into the motivation, benefits, and challenges of writing applications in this style.
  • Jimmy explores what went right and what went wrong with version 1.0 of AutoMapper.
  • There’s nothing wrong with coding in VB, but to stay contemporary, you need to get coding in C#. Paul shows you how to convert legacy VB files to C# without re-inventing the wheel.
  • If you’ve got large datasets, you don’t want to slow the system down every time you save them to your SQL Server database. Rod shows you an uncomplicated way to keep your records zipping along.
  • If you’re looking for a way to computerize your home or add voice controls to your apps, you’re interested in what’s happening with Amazon Echo. Chris introduces you to some basic programming skills for the device and points the way to greatness.
  • Ned introduces the most significant advance in error handling since exceptions and he shows you a new way to look at errors.This article introduces the most significant advance in error handling since exceptions.You get improved tools for today and a glimpse of radical possibilities for tomorrow. You get a framework which supports more expressive error handlers and gives them equal access to error context information. You get a roadmap for adding improved error handling ...See More
  • The Razor View Engine (usually used in ASP.NET MVC to render HTML views) is useful beyond standard ASP.NET MVC scenarios. In this article, Rick shows how it is done and why it is useful.
  • HTTP content retrieval is an important component for applications these days.Although .NET reduces the need to explicitly retrieve content from the Web through built-in mechanisms in the Web Services framework, ADO.NET and the XML classes, there are still many needs to retrieve Web content directly and manipulate it as text or data downloaded into files. In this article, I will describe the functionality of the HttpWebRequest and HttpWebResponse classes and provide an ea...See More
  • Derick outlines how to achieve the benefits of low coupling, high cohesion, and strong encapsulation. He also shows how the five S.O.L.I.D. design principles can get you there.Most professional software developers understand the academic definitions of coupling, cohesion, and encapsulation.However, many developers do not understand how to achieve the benefits of low coupling, high cohesion and strong encapsulation, as outlined in this article. Fortunately, others have cr...See More
  • In this third installment of his Angular security series, Paul addresses the Angular 6 release and shows you how to build an array of claims without single properties for security.
  • Since the earliest versions of the Windows operating system, all Windows have been rectangular.However, the number of applications that break out of this boring mold is rising. Even Microsoft, the king of rectangularity, is starting to create applications that use shaped windows, such as Media Player. Unfortunately, creating shaped forms has always been quite tricky. Until now that is! The .NET Framework and the Windows Forms package in particular make it easy to produce...See More
  • When a team at Microsoft first conceived of SharePoint, the product team decided that the content database was the best place to store file uploads in SharePoint. Before you pull out daggers, consider that there were many advantages to this choice. You can never have a virus corrupting the server in an upload that goes into the database. No filename issues. Transaction support. Easy backups, etc. Also, believe it or not, for a certain file size (smaller the better), data...See More
  • If you’ve ever wondered why SharePoint is so slow and if there was anything you could do about it, you’ll want to read Sahil’s exploration of this common problem.
  • Sahil teaches you how to organize and automate your work using one of the new features in SharePoint: Extensions.
  • From its earliest beginnings, Silverlight has tried to excite and inspire.Now that Silverlight 3 has shipped, it is time to determine if this is the magical version that every developer should finally take a look at. In this article, I will show you the changes Microsoft has made in hopes of helping you make that decision for your own organization.
  • Lambda expressions have been around for a while, but they seem poorly understood and generally underused. You can juice up your code with these dynamic types from .NET, according to John. Find out how!
  • If you want to re-use some of the concepts John introduced in the last two issues, you’ll want to learn all about Dynamic Lambda Expressions work in .NET.
  • John explores the flexibility of dynamic queries and multiple data types within the same dictionary. You’ll be amazed at how simple it really is!
  • The Silverlight ListBox is much more than you may think. When most people think of a ListBox they typically think of just a simple control that displays rows of text. However, the Silverlight ListBox is one of the most flexible controls you will find. I tend to think of the ListBox as similar to the ASP.NET Repeater control as it too is very flexible. In this article, I will show you six different ways to display data in a Silverlight ListBox.
  • If you are a .NET software developer, you have heard of F#. You may have read an article, seen a talk at a user group, or otherwise heard the buzz. However, if those means of reaching you have failed, at the very least, you have noticed it conspicuously appear in the list of languages you can base a solution on in Visual Studio 2010. If you write code on the .NET Framework, you would have to be living under a rock to have not heard of F#.
  • Have you ever wanted to use a strongly-typed collection to bind your data presentation controls to, only to find that you have very limited sorting capabilities, if any at all?If you are trying to stick to good object-oriented design and shrink the amount of data that you keep in memory, transfer from your data source, or serialize to clients, you likely have run into this situation because you are using strongly-typed collections of your domain objects. So what do you d...See More
  • Jonathan Goodyear (the Angry Coder) January/Febuary 2005
  • Hot on the heels of the groundbreaking release of ASP.NET MVC CTP 1 in December of 2007, an open source project called MvcContrib came to life.MvcContrib has enjoyed tens of thousands of downloads since it started in December of 2007. In this article, I will explain MvcContrib; it’s major components, how to use it, and how to get involved in its continued development.
  • If you’ve got multiple data stores, you have to keep them synced or you’ve got trouble on your hands. Joydip makes it look easy using Sync Framework.
  • Bitcoin has been in the news a lot lately. If you ever wondered how it worked, you’ll want to read what Chris has to say.
  • Since the beginning of .NET, developers have been able to take advantage of multithreading when developing applications. In fact we’ve been given more than one programming model to accommodate just about any requirement that might come across. There’s the Thread class, the Thread Pool, the Async Pattern, and the Background Worker. Well, as if that isn’t enough, we now have a couple of more patterns that bring with them another genre - parallel programming.
  • The .NET Framework doesn't change the structure of the file system, nor does it build a new layer on top of it.More simply, but also more effectively for developers, it supplies a new object model for file system-related operations. A managed application can work with files and directories using high-level methods rather than low level understanding of the file system. This article provides an overview of methods and classes contained in the System.IO namespace.
  • A skilled database developer might find it difficult to accept that other tools can increase productivity. When Microsoft released SQL Server 2005 Integration Services (SSIS 2005), I did not think that any tool could possibly make me more productive than the C# and T-SQL code I was writing by hand. After some reconsideration (and subtle persuasion from peers), I discovered that SSIS 2005 contained many features that indeed reduced my development time - WITHOUT sacrificin...See More
  • No, the title isn’t a misprint-this installment of the Baker’s Dozen will visit both sides of the planet. These days, many .NET user group meetings focus on database and business intelligence topics as well as hardcore .NET content. Over the last several months, I’ve spent roughly half my time modifying my own development framework for WCF. The result is some basic but functional factory classes I’d like to share. The other half of the time, I’ve been looking at differen...See More
  • With each new version of SQL Server Reporting Services, Microsoft continues to offer new functionality for reporting. SQL Server 2008 R2, released to manufacturing in mid-2010, represents Microsoft’s fourth major release of Reporting Services in the last 10 years. This fourth release focuses on map generation and various business intelligence/data visualization features. In this article, I’ll demonstrate 13 significant features in SSRS.
  • This installment of “The Baker’s Dozen” finds the Baker expanding from pastries to eye candy: generating PowerPoint output. Many power users build presentations using data from Excel or other data sources. This article shows how to automate Microsoft PowerPoint 2003 from within a Visual Studio 2005 application. The article presents a class called GenPPT, which creates several different types of slides, including slides that integrate tables and charts. GenPPT is written ...See More
  • Lookup and navigation screens initially seem like no-brainers, when compared to other parts of an application-yet by the time a developer has met all the user requirements and requests, he/she has expended much more time than expected. This issue of The Baker’s Dozen will build a lookup Web page using ASP.NET 2.0, SQL Server 2005, and C# 2.0. The lookup and results page will contain optional lookup criteria and custom paging of the result set. The solution will utilize n...See More
  • How many software tasks DON’T involve reading through data? Answer: very few. Developers work all the time with database data, XML data, DataSets, collections, lists, and arrays-all with different syntax and functionality for each one. Developers who write T-SQL code often covet set-based language statements when they work against other types of data. Additionally, developers who have coded against strongly-typed custom collections wish they could write SQL database quer...See More
  • In graphical user interfaces such as Microsoft Windows, drawing on the screen is an important task.Everything displayed on the screen is based on simple drawing operations. Often, environments such as Visual Basic abstract those drawing operations away from the developer. However, the same drawing operations still take place under the hood. In Visual Studio .NET, developers have easy access to that drawing functionality whenever they need it through a technology called G...See More
  • Visual FoxPro’s (VFP) Data Manipulation Language (DML) is one of VFP’s most compelling features. It is also the most obvious feature VFP developers miss in .NET languages such as C# and Visual Basic. However, Language Integrated Query (LINQ), a new query language for .NET developers is a new feature in the upcoming releases of C# 3.and Visual Basic 9.0 that addresses these shortcomings.
  • The new view engine for ASP.NET MVC and WebMatrix combines simplicity and functionality to facilitate clean view development. In this article, I’ll dive into the Razor View Engine, the new default view engine for the ASP.NET MVC framework and WebMatrix products. Razor’s main goal is to simplify view development and to improve developer productivity while providing a clean view infrastructure.
  • Microsoft seemed to have put XAML out to pasture for a while, but Billy shows us how it’s back, and why even Microsoft is touting its praises.
  • Recently, Microsoft released the Visual Studio 2012.2 ASP.NET and Web Tools Refresh and the Visual Studio Update #2. In this article, I will highlight a few of the new and improved features that you will want to consider using right away. Before you can take advantage of these features, you will need to download and install these updates:
  • Writing software is hard, particularly when the tools you use force you to think at too low a level; it’s time to start thinking about changing the way you write code… by making it easier to write code.Taking on new ways to program doesn’t always mean tossing away your favorite programming language or environment. Sometimes it just means taking a new look at how you’re using your language and trying out a few new ideas. It’s time to take a hard look at your favorite lang...See More
  • This article explains in depth how to implement multi-threading in your .NET applications.
  • C# has always had a reputation as a clean language with lots of innovation.The Whidbey-release of Visual Studio .NET ships with a new version of the C# compiler that has a number of great new features. Some of them will be implemented as generic runtime features that will show up in other languages as well, and some are truly C#-specific. All of them originated in the C# camp. In this article, I will shed some light on my three favorite new features.
  • If you want to develop code that’s flexible, extensible, maintainable, and testable, you’ll want to read Paul’s article about some basic things to keep in mind before you start.
  • If you need your data secure, there’s probably no better way to ensure it than a Blockchain. Wei-Meng explains how it all works and then helps you build your own.
  • We seem to be an industry enamored with buzz words. Even though XmlHttpRequest has been around since the mid-90s, mainstream programmers didn’t give it a second thought until someone attached the term AJAX to it. The same is true for the never-ending quest to put as many different words as we can in front of “driven-development.” Another term that hit the scene in recent years is dependency injection.
  • Any application that deals with data needs data validation. Prem walks through aspects of data validation in Microsoft Visual Studio LightSwitch and provides insight into certain details of the underlying framework and design.
  • Building an audit trail into your application provides a mechanism for tracking who updated what when, and the new generics feature in Whidbey helps you build that trail.The Whidbey release of .NET will include a new Common Language Runtime (CLR) feature called generics. Generics allow you to use a variable to represent a desired data type, and thereby create very generic code (hence the name) that works with any data type.You define the data type for the generic variabl...See More
  • Sometimes your .NET applications need to interact with Microsoft Active Directory (AD) to authenticate users, get a list of users, retrieve groups, or determine which users are within which AD groups. There are a few different approaches you can use to retrieve information from your AD database within your domain.
  • If you’ve ever wondered what the difference is between MapReduce and Hadoop, Gary will tell you, putting it all in context of Hadoop and .NET.
  • Before you start hard coding parts of your project to work with metadata in SQL Server, make sure that the functionality you want isn’t already part of the product.
  • Developers of LightSwitch applications are not limited to the set of standard UI controls that come “out of the box.” If your application has specific requirements that are not covered by the standard control set, you can use third-party LightSwitch controls or use regular Silverlight controls (also called “custom controls”) to enhance your UI. In this article I will show you how to get started with custom controls and how to make custom controls and screens work together (interact).
  • Vassili shows how to use CSCS scripting in Unity to perform functions not originally in games or apps. You can add your own quests, items, and other game elements or alter scripts, textures, and meshes. Go forth and conquer!
  • GDI+ is a technology that developers generally associate with Windows Forms applications because they use it to draw anything on the screen from custom controls to diagrams.However, you can also use GDI+ in ASP.NET Web applications whenever you want to serve up dynamic images. You can use GDI+ to create dynamic banners, photo albums, graphs, diagrams, and more.
  • The richest set of cloud computing services comes from a little e-commerce company known as Amazon.com. Developers can access the Amazon Web Services (AWS) platform using numerous tools including the .NET platform.Amazon.com is a major player in the cloud computing space and has numerous services available to developers. In late 2009, Amazon released the AWS SDK for .NET. This article will demonstrate using the AWS SDK to create a custom backup service using the Amazon S...See More
  • People often think of HTML as the sole domain for Web applications.But HTML's versatile display attributes are also very useful for handling data display of all sorts in desktop applications. The Visual Studio .NET start page is a good example. Coupled with a scripting/template mechanism you can build highly extendable applications that would be very difficult to build using standard Windows controls. In this article, Rick introduces how to host the ASP.NET runtime in de...See More
  • When your WPT Tree View needs to go deeper than two levels, you might run into a snag. Paul shows us how to use the Hierarchical Data Template to get around this problem.
  • Ken Getz Jan/Feb 08 FInalize article.
  • Keeping up with Visual Studio’s frequent and often simultaneous releases from multiple sources can be nearly impossible. In another of his edifying series, John Petersen gives us the scoop.
  • Just when you think you know what’s up in C#, they release a new version. This one’s got pattern matching, tuples, and local functions along with improvements to existing features. Chris shows you where to dive in.
  • There are a bunch of hot new tools in CODE Framework that you’ll want to explore, including a new theme, new View Actions, List improvements, a Flow Form layout, support for new versions of Visual Studio and the .NET Framework, and enhancements to the View Visualizer.
  • If you’d like a neat summary of the many interesting and useful changes in CODE Magazine’s free development framework, you’ve come to the right place. Markus talks about themes, input validation, security, and binding, Web API service hosting, calling REST services, and interacting with the community and GitHub.
  • Visual C# version 4.0 offers new features that make it easier for you to work in dynamic programming scenarios.Besides dynamic programming, you have support for optional and named parameters, better COM interop support, and contra-variance and covariance. This article will show you how each of these features work and provide suggestions of how they can be applied to help you be more productive.
  • It’s so new that the dust is still settling, and VS2017 was worth the wait. Markus explores the ins and outs of his favorite new features.
  • Visual Studio .NET provides a new set of features designed to improve and enhance the development experience. Most of these changes have to do with user ergonomics and are typical of a minor release of a Visual Studio product. Only a few of the changes are related to the underlying platform. This article assumes you are familiar with Visual Studio .NET 1.0 and it presents only the new features of the IDE (Integrated Development Environment) of Visual Studio .NET 1.1, fo...See More
  • Michiel van Otegem explains Software-as-a-Service by comparing various online products and shows you how to store information about users whether you use Active Directory or Windows Azure Active Directory in the cloud.
  • If we have been friends for a while, you must know my opinions about workflows in SharePoint 2010 and SharePoint 2007. I didn’t think they were very good, especially from a performance and scalability point of view. Frankly I think Microsoft should have called them “workslows.” Though, I don’t think it was the implementation in SharePoint that was the issue, it was fundamental issues with Workflow Foundation, compounded by the nature of SharePoint that acerbated the issu...See More
  • The .NET class Thread defined in the System.Threading namespace represents a managed thread.The Thread class provides various methods and properties to control the managed thread. Unfortunately, there is a significant potential for abusing these mechanisms, and most developers may not even realize they are doing anything wrong. This article describes the dos and don'ts of the Thread class, and then presents a wrapper class that simplifies starting a thread, correctly ter...See More
  • Developing for Windows Phone is easy if you have been doing any XAML at all. That’s because you use Silverlight for Windows Phone development.
  • In Part 1 of this article you learned how to work with orientation changes on the Windows Phone and how to create horizontally scrolling pages using Panorama and Pivot pages. In Part 2 you’ll see how to interact with some of the built-in applications on the phone through the use of the Launcher and Chooser applications.
  • The iPhone is one of the most compelling and exciting user interfaces to appear on any consumer electronic device, with many innovations that make it a pleasure to use. How can you deliver a similar experience with your .NET applications?This article demonstrates how you can implement these features in your .NET applications in a step-by-step format as you recreate the iPhone interface using Windows Presentation Foundation (WPF) technology with both Visual Studio 2008 an...See More
  • Visual Studio Code is the hot new thing these days. Vassili tells you how to take advantage of some of its features, including CSCS, Rich Language Services, REPL language interpretation, and debugging.
  • Xamarin has a new version of their Cross-Platform Mobile Development tool out, and Jason takes you on a tour of all the great new features.
  • In the next article of his series on Xamarin, Walt takes a look at the all-important UI and how to make it work best for the development process and the user.
  • Markus continues his series on anti-patterns with an interesting look at when to take advantage of certain techniques and when to give them a wide berth.
  • Just when you think a container is simple, your user resizes the screen and mayhem ensues. If you want to know what happened—or prevent it, better yet—read Markus’ piece about the XAML layout engine.
  • Markus shows us why virtualization gets a bad reputation and how to clean it up.
  • XAML properties don’t always behave as you think they might. Markus explains how they work and shows you some nifty ways to use these powerful tools.
  • As XML becomes more and more prolific in the world of data exchange it's increasingly important that data can be quickly and easily extracted from XML documents and moved into more permanent data stores.Although .NET offers several different ways for performing this task, the XmlTextReader represents the most efficient and scalable solution.
  • If you haven’t explored the open source implementation of XNA 4.x API called MonoGame, now’s your chance to see what exciting things are in store for you. Chris takes us there.
  • XQuery will likely become the dominant language for querying data from most data sources.Although designed for querying XML data, you can use XQuery to tie together data from multiple data sources. In that respect it is much more powerful than SQL, which will slowly but surely be replaced as the main query language.
  • If you thought that pages and dialogs that need a response from a user couldn’t be unit tested, John will show you how it’s done using dependency inversion.
  • Everyone’s familiar with the status lights that movie-makers think indicate that a computer (or bank of computers) is thinking. Eric tells us how to use real status lights to indicate failure and success—and progress—of your apps using Z-Wave.