Dynamic Objects in C# with Code Samples

Introduction

The C# language has many powerful features, including the ability to create and manipulate dynamic objects. This post will explain the concept of dynamic objects in C#, provide code samples to demonstrate their use, and discuss the benefits of dynamic objects.

What are Dynamic Objects in C#?

Dynamic objects in C# are objects that allow users to modify their properties and methods at runtime. They have no predefined structure, meaning that their members and methods can be added and removed as needed. This flexibility makes them ideal for scenarios where the structure of the object can change depending on the environment or user input.

Benefits of Using Dynamic Objects in C#

Dynamic objects in C# offer a number of advantages over standard objects. They can be used to quickly prototype an application without having to set up a complex object structure. Additionally, they can be more efficient when dealing with large amounts of data as they don’t need to be initialized at the start. Finally, dynamic objects can also be used to access and manipulate data from other sources, such as databases or web services.

Code Samples

The following code samples demonstrate the use of dynamic objects in C#. The first example shows how to create a dynamic object and add a property to it:

dynamic myObj = new ExpandoObject();
myObj.Name = "John";


The second example shows how to access the properties of a dynamic object:

dynamic myObj = new ExpandoObject();
myObj.Name = "John";

string name = myObj.Name; // name = "John"


Finally, the third example shows how to invoke a method of a dynamic object:

dynamic myObj = new ExpandoObject();
myObj.SayHello = (string name) => {
    Console.WriteLine($"Hello, {name}!");
};

myObj.SayHello("John"); // Prints "Hello, John!"


Conclusion

Dynamic objects in C# provide an effective way to quickly prototype applications and access data from other sources. They also offer a number of benefits over standard objects, such as increased efficiency and flexibility. By using the code samples provided in this post, users can begin to take advantage of dynamic objects in their own projects.

Browser Link in ASP .NET Core

What is Browser Link?

Browser Link is a feature in Visual Studio that creates a communication channel between the development environment and one or more web browsers. You can use Browser Link to refresh your web application in several browsers at once, which is useful for cross-browser testing.

How Does It Work?

Browser Link uses SignalR to create a communication channel between Visual Studio and the browser. When Browser Link is enabled, Visual Studio acts as a SignalR server that multiple clients (browsers) can connect to. Browser Link also registers an HTTP module with ASP.NET. This module injects special <script> references into every page request from the server. You can see the script references by selecting “View source” in the browser.

https://docs.microsoft.com/en-us/aspnet/visual-studio/overview/2013/using-browser-link/_static/image13.png

Your source files are not modified. The HTTP module injects the script references dynamically.

Because the browser-side code is all JavaScript, it works on all browsers that SignalR supports, without requiring any browser plug-in.

Earlier Discussion

We discussed about the browser link in .Net Framework earlier.

Take a look at here:

Browser Link option in Visual Studio

BrowserLink in ASP .NET Core

To use BrowserLink in ASP .NET Core, we should do few tweaks in the source code.

Install the following package in your project

Microsoft.VisualStudio.Web.BrowserLink

Or using packet manager

Install-Package Microsoft.VisualStudio.Web.BrowserLink -Version 2.2.0

And config BrowserLink in your startup.cs

if (env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
    app.UseBrowserLink();
}

Start using

Now start using the BrowserLink from the tool bar dashboard

Happy Coding!