در این آموزش تصویری با مبانی Dynamic C#.NET آشنا می شوید.

این دوره آموزشی محصول موسسه PluralSight است.

سرفصل های دوره:

  • مرور دوره
  • معرفی #Dynamic C
  • چرا #Dynamic C؟
  • مباحث دوره
  • معرفی DLR
  • اتصال استاتیک و دینامیک
  • Var و Dynamic
  • رزولوشن متد اجرا
  • Type های آبجکت و داینامیک
  • محدودیت های متدهای فراخواندنی
  • معرفی ExpandoObject
  • تجدید ساختار کد به داینامیک
  • افزودن رفتار ExpandoObject به طور داینامیک
  • خلاصه
  • ساده سازی کد با #Dynamic C
  • ساده سازی reflection در کدنویسی
  • کاهش کدها با روش های عددی
  • COM Interop بدون  Interop Assemblies
  • کاهش کدهای Plumbing با Dynamic JSON
  • پرکردن Excel با داده های دلخواه JSON
  • Dynamic JSON در Web API
  • ExpandoObject و اتصال داده XAML
  • نتایج کوئری داینامیک SQL با Dapper
  • بهبود کد تست SpecFlow با دینامیک ها
  • ملاحظات کد داینامیک
  • خلاصه
  • ایجاد کلاس های داینامیک سفارشی
  • معرفی
  • چرا کلاس های داینامیک سفارشی؟
  • رابط IDynamicMetaObjectProvider
  • کلاس پایه DynamicObject
  • ایجاد یک کلاس HtmlElement داینامیک
  • ایجاد تست اول
  • افزودن قابلیت های اولیه داینامیک
  • استثناء های عملیات داینامیک
  • بهبود تجربه اشکال زدایی
  • رشته ها
  • پیاده سازی رابط های اضافی
  • قابل شمارش سازی آبجکت داینامیک
  • پیاده سازی متدهای داینامیک
  • اولویت ها در Method Invocation
  • فراخوانی آبجکت داینامیک
  • تعامل با زبان های داینامیک
  • چرا Dynamic Interop؟
  • شروع کار با IronPython
  • دریافت اسکریپت ورودی از کاربر
  • خطرات اسکریپت نویسی
  • اجرای بیانیه های پایتون
  • تعامل با آبجکت های پایتون
  • انتقال آبجکت های سفارشی داینامیک به پایتون
  • خلاصه

عنوان دوره:  Dynamic C# Fundamentals

مدت زمان: 2 ساعت و 50 دقیقه
نویسنده:  Jason Roberts

 توضیحات:

Dynamic C# Fundamentals


Jason Roberts
2h 50m

While C# is a statically typed language, it also has (often overlooked) dynamic features. For example, using the dynamic keyword allows the instantiation of dynamic objects whose structure is not known by the compiler at compile time. In this course, Dynamic C# Fundamentals, you'll learn how the use of dynamic C# makes some difficult and cumbersome programming tasks easier to write and work with. You'll learn how dynamic C# can make COM interop easier, enable adding of arbitrary properties at runtime, and simplify working with JSON and SQL data. You'll also discover how the dynamic keyword can reduce XAML boilerplate binding code and even enable interoperation with other dynamic languages such as Python. By the end of this course, you'll know how to take advantage of dynamic C# in order to reduce the amount of code that needs to be written, make it more readable, and give yourself more time to deliver more features to the customer.


Course Overview1m 17s
Course Overview1m 17s
Introducing Dynamic C#58m 34s
Introduction2m 54s
Why Dynamic C#?4m 35s
Course Outline1m 24s
Introducing the DLR3m 40s
Static and Dynamic Binding3m 15s
Dynamic Binding in Action and RuntimeBinderException7m 32s
Implicit Dynamic Conversions5m 28s
Var and Dynamic2m 13s
Runtime Method Resolution7m 21s
Dynamic and Object Types2m 48s
Limitations of Callable Methods3m 53s
Introducing ExpandoObject1m 24s
Refactoring to Dynamic7m 55s
Dynamically Adding ExpandoObject Behavior2m 7s
Summary1m 58s
Simplifying Code with Dynamic C#46m 43s
Introduction2m 11s
Simplifying Reflection Code4m 46s
Reducing Code with Unified Numeric Methods9m 8s
COM Interop Without Interop Assemblies4m 24s
Reducing Plumbing Code with Dynamic JSON3m 42s
Dynamically Populating Excel with Arbitrary JSON Data2m 19s
Dynamic JSON in Web API2m 23s
ExpandoObject and XAML Databinding3m 35s
Dynamic SQL Query Results with Dapper5m 10s
Improving SpecFlow Test Code with Dynamics4m 14s
Dynamic Code Considerations1m 53s
Summary2m 51s
Creating Custom Dynamic Classes40m 41s
Introduction1m 49s
Why Custom Dynamic Classes?1m 47s
The IDynamicMetaObjectProvider Interface1m 12s
The DynamicObject Base Class3m 10s
Creating a Dynamic HtmlElement Class2m 3s
Creating the First Test2m 26s
Adding Initial Dynamic Capabilities4m 48s
Dynamic Operation Exceptions3m 3s
Improving the Debugger Experience3m 33s
Overriding ToString2m 35s
Implementing Additional Interfaces3m 21s
Making the Dynamic Object Enumerable1m 1s
Implementing Dynamic Methods4m 3s
Method Invocation Precedence1m 32s
Invoking the Dynamic Object Itself2m 13s
Summary2m 0s
Interoperating with Dynamic Languages22m 57s
Introduction1m 34s
Why Dynamic Interop?1m 46s
Getting Started with IronPython3m 50s
Getting Scripting Input from the User4m 53s
Scripting Risks0m 22s
Executing Python Statements 3m 9s
Interacting with Python Objects2m 22s
Passing Custom Dynamic Objects to Python3m 31s
Summary1m 26s