Click here to Skip to main content
13,354,132 members (53,115 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as


2 bookmarked
Posted 11 May 2011

dynamic keyword - Represents an object whose operations will be resolved at runtime

, 15 May 2011
Rate this:
Please Sign up or sign in to vote.
dynamic keyword - Represents an object whose operations will be resolved at runtime
C#4.0 introduces a new type, dynamic.It is treated as System.Object, but in addition, any member access (method call, field, property, or indexer access, or a delegate invocation) or application of an operator on a value of such type is permitted without any type checking, and its resolution is postponed until run-time.

This is the one of the best example uses of dynamic:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
    public class Colour
    public class Red : Colour
    public class Green : Colour
    class Program
        static void Main(string[] args)
            Colour color = null;
            color = new Red();
            color = new Green();

        static void GetColour(Colour color)
            /* avoiding this lines
            if (color is Red)
            if (color is Green)
             * */
            //type checking has to be done at runtime.
            dynamic dynColour = color;
        static void Fill(Red red)
        static void Fill(Green green)


The role of the C# compiler here is simply to package up the necessary information about “what is being done to dynColour” so that the runtime can pick it up and determine what the exact meaning of it is given an actual object dynColour. Think of it as deferring part of the compiler’s job to runtime.


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


About the Author

Software Developer
India India

Hi I' Ambarish from India. I've three and half year of experience in application
development solutions.
Educational Qualification MCA -  from KristuJyoti College of management and technology (MG

B.Sc (Physics) - from NSS College, Changanacherry (MG University)
Skill Set C#,winforms,,MVC 3, Java,Design Patterns,VB, Android,JQuery Mobile,SQL,MySqlUML.

You may also be interested in...

Comments and Discussions

GeneralNice Example Pin
Wayne Gaylard12-May-11 4:35
memberWayne Gaylard12-May-11 4:35 
GeneralRe: Nice Example Pin
ambarishtv12-May-11 4:55
memberambarishtv12-May-11 4:55 

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

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

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.180111.1 | Last Updated 15 May 2011
Article Copyright 2011 by ambarishtv
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid