public class ViewBag : DynamicObject { private readonly Dictionary<string,dynamic> dic=new Dictionary<string,dynamic>(); public ViewBag() { } private Dictionary<string,dynamic> ViewData { get { return dic; } } public override IEnumerable<string> GetDynamicMemberNames() { return ViewData.Keys; } public override bool TryGetMember(GetMemberBinder binder, out object result) { result = ViewData[binder.Name]; return true; } public override bool TrySetMember(SetMemberBinder binder, object value) { ViewData[binder.Name] = value; return true; } }
调用:
dynamic viewBag = new ViewBag(); viewBag.Title="xxx"; Console.WriteLine(viewBag.Title);
时间: 2024-10-08 10:59:51