public TAttr GetAttribute <TModel, TAttr>(TModel model, string attrName) { ThrowIfDisposed(); // NOTE: GetAttribute is only used by model ctor. we can safely check the resource and ignore the patch return(ModelRegistry.GetAttributeValue <TModel, TAttr>(model, attrName)); }