Reporter | Alexander Shvedov (shvedov) |
---|---|
Created | Feb 13, 2012 7:43:54 PM |
Updated | Feb 13, 2012 8:01:33 PM |
Priority | Show-stopper |
Type | Bug |
Fix versions | Next Dev11 |
State | Submitted |
Assignee | Evgeny Pasynkov (pasynkov) |
Subsystem | PSI |
Affected versions | 6.1 |
Fixed in build | No Fixed in build |
Take a look at any WinRT metadata file from Windows8 Developer Preview, for example: Windows.UI.Xaml.Controls.winmd
Our reflection API doesn't recognize properties in type Windows.UI.Xaml.Controls.Grid:
WinRT metadata (new setter naming):
CIL metadata:
Nearly the same story with events:
WinRT metadata (new signature, 'value' parameter for remove accessor):
Our reflection API doesn't recognize properties in type Windows.UI.Xaml.Controls.Grid:
WinRT metadata (new setter naming):
.property instance bool ShowGridLines() { .get instance bool Windows.UI.Xaml.Controls.Grid::get_ShowGridLines() .set instance void Windows.UI.Xaml.Controls.Grid::put_ShowGridLines(bool) } .method public final hidebysig specialname newslot virtual instance bool get_ShowGridLines () runtime managed { } .method public final hidebysig specialname newslot virtual instance void put_ShowGridLines ([in] bool 'value') runtime managed { }
CIL metadata:
.property instance bool ShowGridLines() { .get instance bool Windows.UI.Xaml.Controls.Grid::get_ShowGridLines() .set instance void Windows.UI.Xaml.Controls.Grid::set_ShowGridLines(bool) } .method public hidebysig specialname newslot virtual instance bool get_ShowGridLines () cil managed { ... } .method public hidebysig specialname newslot virtual instance void put_ShowGridLines (bool 'value') cil managed { ... }
Nearly the same story with events:
WinRT metadata (new signature, 'value' parameter for remove accessor):
.event Windows.UI.Xaml.SizeChangedEventHandler SizeChanged { .addon instance valuetype Windows.Foundation.EventRegistrationToken Windows.UI.Xaml.FrameworkElement::add_SizeChanged(class Windows.UI.Xaml.SizeChangedEventHandler) .removeon instance void Windows.UI.Xaml.FrameworkElement::remove_SizeChanged(valuetype Windows.Foundation.EventRegistrationToken) } .method public final hidebysig specialname newslot virtual instance valuetype Windows.Foundation.EventRegistrationToken add_SizeChanged ( [in] class Windows.UI.Xaml.SizeChangedEventHandler 'value') runtime managed { } .method public final hidebysig specialname newslot virtual instance void remove_SizeChanged ([in] valuetype Windows.Foundation.EventRegistrationToken token) runtime managed { }