Products
Features
YouTube Video Summarizer
Summarize YouTube videos
Web & PDF Highlighter
Highlight web pages & PDFs
Chat with PDF
Ask any PDF questions with AI
Ask AI Clone
Chat with your highlights & memories
Audio Transcriber
Transcribe audio files to text
Glasp Reader
Read and highlight articles
Kindle Highlight Export
Export your Kindle highlights
Idea Hatch
Hatch ideas from your highlights
Integrations
Obsidian Plugin
Notion Integration
Pocket Integration
Instapaper Integration
Medium Integration
Readwise Integration
Snipd Integration
Hypothesis Integration
Apps & Extensions
Chrome Extension
Safari Extension
Edge Add-ons
Firefox Add-ons
iOS App
Android App
Discover
Discover
Ideas
Discover new ideas and insights
Articles
Curated articles and insights
Books
Book recommendations by great minds
Posts
Essays and notes from readers
Quotes
Inspiring quotes collection
Videos
Curated videos and summaries
Explore Glasp
Glasp Newsletter
Weekly insights and updates
Glasp Talk
Interview series with great minds
Glasp Blog
Latest news and articles
Glasp Use Cases
Learn how others use Glasp
Build & Support
Glasp API
Access Glasp's API for developers
MCP Connector
Connect Glasp to Claude & ChatGPT
Community
Glasp Reddit Community
Students
Student discount and benefits
FAQs
Frequently Asked Questions
AboutPricing
DashboardLog inSign up

Adding Dynamic Properties: ExpandoObject vs DynamicObject

15.0K views
•
December 6, 2021
by
Brian Lagunas
YouTube video player
Adding Dynamic Properties: ExpandoObject vs DynamicObject

TL;DR

This video demonstrates how to use dynamic objects (specifically, ExpandoObject and a custom DynamicObject) in C# to build and manipulate objects with dynamic properties, and showcases their application in parsing CSV files to JSON.

Transcript

well hello there all you beautiful people and thank you for joining me again for another tech question video in this video i'm going to answer a tech question and if you have a tech question you like to have answered make sure you just leave a comment below with your question and i may get to it you don't have to subscribe you don't have to like an... Read More

Key Insights

  • 🔬 Dynamic properties in C#: The content discusses the struggle of working with dynamic properties in C# and how it is easy in JavaScript.
  • 🔧 Expando Object: Expando object is a flexible and dynamic way to create objects with dynamic properties in C#. It provides an easy way to add properties and methods at runtime.
  • 💡 Limitations of Expando Object: Expando object can crash if we try to access properties that have not been defined yet. To avoid this, it is recommended to cast the object as an IDictionary and then dynamically add properties.
  • 🔀 Dynamic Object: Dynamic object is a base class in C# that allows us to create our own dynamic objects. By implementing IDictionary and overriding try get member and try set member methods, we can define our own dynamic behavior.
  • 🛠️ Custom API with Dynamic Object: Using dynamic object allows us to create custom methods like add property, making the API more intuitive and useful.
  • 💻 Example of Dynamic Object: The content demonstrates how to parse a CSV file and convert it into JSON using dynamic object, showing the practical application of working with dynamic properties.
  • 😕 Issue with Dynamic Object: When using dynamic object, we need to handle serialization manually by creating a custom JSON converter, but it provides more control and flexibility in handling dynamic scenarios.

Install to Summarize YouTube Videos and Get Transcripts

Explore YouTube Video Summarizer or Get YouTube Transcript Extractor

Questions & Answers

Q: How can dynamic objects be used to handle scenarios with properties that are unknown until runtime?

Dynamic objects, such as ExpandoObject and custom DynamicObject, can be used to handle scenarios with unknown property names and values at runtime. By using these objects, properties can be added dynamically, and methods can be added to the objects as well. This allows for the creation of objects that can be customized based on the specific requirements of the application or scenario.

Q: What are the limitations of using ExpandoObject for working with dynamic properties in C#?

While ExpandoObject provides flexibility for creating dynamic objects and adding properties at runtime, it has some limitations. One limitation is that if you try to read an object property that hasn't been defined, it will result in a runtime exception. Additionally, ExpandoObject does not provide a simple way to handle scenarios where property names and values are unknown, which can make it less suitable for certain dynamic scenarios.

Q: How can a custom DynamicObject be created in C#?

To create a custom DynamicObject in C#, a new class can be derived from the DynamicObject base class. This allows for custom implementation of methods that control how the dynamic object behaves. By overriding methods like TryGetMember and TrySetMember, the custom DynamicObject can handle dynamic operations, such as getting and setting property values, in a customized way.

Q: What advantages does a custom DynamicObject offer over ExpandoObject?

A custom DynamicObject provides more control and flexibility compared to ExpandoObject. With a custom DynamicObject, you can define your own methods and create a more tailored API for working with dynamic properties. Additionally, it allows for handling scenarios where property names and values are unknown, making it more suitable for complex dynamic scenarios, such as parsing CSV files.

Summary & Key Takeaways

  • The video discusses the use of dynamic objects, specifically ExpandoObject and a custom DynamicObject, in C# for creating and manipulating objects with dynamic properties.

  • The speaker demonstrates the limitations of using ExpandoObject and provides an alternative approach using a custom DynamicObject.

  • The video showcases a real-world example of parsing a CSV file and converting it into a collection of dynamic objects, which are then serialized into JSON.

  • The custom DynamicObject provides more flexibility and allows for the creation of a simpler API for handling dynamic scenarios.


Read in Other Languages (beta)

English

Share This Summary 📚

Summarize YouTube Videos and Get Video Transcripts with 1-Click

Download browser extensions on:

Try YouTube Summary with ChatGPT & Claude or YouTube Transcript Generator

Apps & Extensions

  • Chrome Extension
  • Safari Extension
  • Edge Add-ons
  • Firefox Add-ons
  • iOS App
  • Android App

Key Features

  • YouTube Video Summarizer
  • Web & PDF Summarizer
  • Web & PDF Highlighter
  • Chat with PDF
  • Ask AI Clone
  • Audio Transcriber
  • Glasp Reader
  • Kindle Highlight Export
  • Idea Hatch

Integrations

  • Obsidian Plugin
  • Notion Integration
  • Pocket Integration
  • Instapaper Integration
  • Medium Integration
  • Readwise Integration
  • Snipd Integration
  • Hypothesis Integration

More Features

  • APIs
  • MCP Connector
  • Blog & Post
  • Embed Links
  • Image Highlight
  • Personality Test
  • Quote Shots

Company

  • About us
  • Blog
  • Community
  • FAQs
  • Job Board
  • Newsletter
  • Pricing
Terms

•

Privacy

•

Guidelines

© 2026 Glasp Inc. All rights reserved.