I am trying to learn all the new goodies that come with C# 4.0. I am failing to understand the differences between the DynamicObject and ExpandoObject types. It seems like DynamicObject is used e.g. when you want to access variables from Python scripts and ExpandoObject when talking with COM/Office objects. Am I right? What is the difference in their use?
C# 4.0 Dynamic vs Expando... where do they fit?
28.2k Views Asked by Perpetualcoder At
1
There are 1 best solutions below
Related Questions in C#-4.0
- How to call a C language function from x86 assembly code?
- What does: "char *argv[]" mean?
- User input sanitization program, which takes a specific amount of arguments and passes the execution to a bash script
- How to crop a BMP image in half using C
- How can I get the difference in minutes between two dates and hours?
- Why will this code compile although it defines two variables with the same name?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Why can't I use the file pointer after the first read attempt fails?
- #include Header files in C with definition too
- OpenCV2 on CLion
- What is causing the store latency in this program?
- How to refer to the filepath of test data in test sourcecode?
- 9 Digit Addresses in Hexadecimal System in MacOS
- My server TCP doesn't receive messages from the client in C
- Printing the characters obtained from the array s using printf?
Related Questions in EXPANDOOBJECT
- Getting Property from ExpandoObject causing error
- Accessing dynamic view within ExpandoObject
- Is possible to parse a string as function and reference runtime variables?
- In Powershell how do "ExpandProperty" of multiple values?
- ExpandoObject with dynamic deserialized JSON throwing an exception when trying to access a property
- convert a list(of ExpanoObject) to list of objects
- Add Properties ya fields in a C# Dynamically based on length of a list
- Getting values of ExpandoObject from Keys that are known at runtime
- Issue with reading dynamic data from DataTable in QuestPDF
- C# Code for Moq's Setup and it's Return in regards to mocking a dynamic property
- Cannot cast object type to representative class with same properties
- How to fill datagrid with datatable in uwp and make the grid editable?
- C# Replace an array in a JSON file
- ElasticSearch Nest Mapping for Nested ExpandoObject for RabbitMQ Bus Messages
- Cannot implicitly convert ExpandoObject to IDictionary in c#
Related Questions in DYNAMICOBJECT
- Accessing value from dynamic object
- Provide custom reflection info (PropertyInfo) from DynamicObject
- Add Properties ya fields in a C# Dynamically based on length of a list
- How to look if system.__comobject is open before I run that object?
- How to convert List<model> to string?
- C# Invalid Option Error deserializing nested dynamic object with system.text.json in .Net 6
- Dynamically assign object properties and values in c#
- .NET 6 “core” Create Dynamic Object containing List<MyOtherDynamicListObject>
- Ensuring anonymous objects in C# all have certain common properties
- C# Custom DynamicObject cast to derived object
- Create component dynmically in QML (ListElement in ListModel)
- Access object on another form with the form as a variable
- How to read a value in Dynamic object obtained from JsonConvert.DeserializeObject
- Json.NET PopulateObject method does not work but DeserializeObject method works for the same type and JSON input
- dynamic object creation and function call
Related Questions in DYNAMIC-KEYWORD
- Swift json dynamic key parsing for json
- I am getting COM object System._COMObject on using Westwind.Utilities.ReflectionUtils
- Why dynamic call on ref return property throws exception?
- Is there a conceptual reason why calling a method with a dynamic parameter always returns dynamic?
- How to create POJO class for retrofit with dynamic keys names
- Using LINQ with dynamic variables in C#
- get different values using dynamic keyword
- Debugging issue (VS2010) when using dynamic keyword
- C# dynamic: Assign properties dynamically
- Replacing static Resource properties with DynamicObject
- How to extract var from query string and write it (echo) into the html?
- F#: Is there a way to extend the monad keyword list?
- Why do extension methods fail to get resolved for dynamic types?
- Using dynamic in C# to access field of anonymous type - possible?
- Why doesn't dynamic keyword work with dynamically loaded assemblies?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Expando is a
dynamictype to which members can be added (or removed) at runtime.dynamicis designed to allow .NET to interoperate with types when interfacing with dynamic typing languages such as Python and JavaScript.So, if you need to handle a dynamic type: use
dynamicand if you need to handle dynamic data such as XML or JSON: use ExpandoObjectThe declaration of an expando shows the relationship between dynamic and the expando:
And the ability to add a new property:
That last line of code creates a brand new string property in the expando object called
SomeNewStringVal. The string type is inferred from the assignment.So an expando is a dynamic data type that can represent dynamically changing data. That's it in a nutshell. Here's a deeper look at dynamic and expando.
Complete example: