4.7.2 apparently introduces a thing called DynamicBackingItem, which is the new implementation behind a few things such as .ChildrenAsList, defined as:
publicList<DynamicBackingItem> ChildrenAsList
{
get { if (n == null) returnnull; return n.ChildrenAsList; }
}
This will break any code which doesn't use implicit typing or which departs from DLR, for example:
IEnumerable<DynamicNode> Children = Model.ChildrenAsList;
The reasons for doing this are many (and, quite frankly, not the concern of the library developer.) I'm frustrated at the amount of breaking changes in Razor which seem to be un-documented. I haven't searched around the forums for this, but quite frankly shouldn't have to. A minor release should not change interfaces in a way which requires developers to devote time adapting a site for the upgrade, and if they do, should be done for good reason and indicated up-front.
4.7.2 Breaking Change for Razor Macros
4.7.2 apparently introduces a thing called DynamicBackingItem, which is the new implementation behind a few things such as .ChildrenAsList, defined as:
This will break any code which doesn't use implicit typing or which departs from DLR, for example:
IEnumerable<DynamicNode> Children = Model.ChildrenAsList;
The reasons for doing this are many (and, quite frankly, not the concern of the library developer.) I'm frustrated at the amount of breaking changes in Razor which seem to be un-documented. I haven't searched around the forums for this, but quite frankly shouldn't have to. A minor release should not change interfaces in a way which requires developers to devote time adapting a site for the upgrade, and if they do, should be done for good reason and indicated up-front.
is working on a reply...