C# Dynamic关键字
class Program { static void Main(string[] args) { dynamic dynamicObject = GetDynamicObjectFromJavaScript(); // 假设这是从JavaScript传入的动态对象 // 访问属性 Console.WriteLine(dynamicObject.Property1); // 调用方法 dynamicObject.Method1(); } static dynamic GetDynamicObjectFromJavaScript() { // 此处仅为示例,实际中可能是从某个API或其他方式获取动态对象 return new { Property1 = "Hello", Method1 = new Action(() => Console.WriteLine("Method called!")) }; } } class Program { static void Main(string[] args) { string json = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; dynamic parsedJson = JObject.Parse(json); Console.WriteLine(parsedJson.name); // 输出: John Console.WriteLine(parsedJson.age); // 输出: 30 } } static class DynamicExtensions { public static void SayHello(this dynamic obj) { Console.WriteLine("Hello from dynamic extension!"); } } class Program { static void Main(string[] args) { dynamic dynamicObj = new ExpandoObject(); // 调用扩展方法 dynamicObj.SayHello(); // 输出: Hello from dynamic extension! } }