Feature Request - Improve DefaultBinder
- Vorherrschende Sprache
- C#
- Sterne
- 10.3k
- Forks
- 2.9k
- Ø Merge
- 5 T. 22 Std.
- Gemergte PRs (30 T.)
- 4
Beschreibung
- [ ] Add support for converting string to `GUID`.
- [ ] Add base class for use with `CefSharp.Extensions.ModelBinding.StrictModelBinder`
- [ ] Add additional unit tests
The framework has a [GuidConverter](https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.guidconverter?view=netframework-4.5.2)
Looks like we have to modify our code to get the converter based on type, probably look something like:
```c#
var typeConverter = TypeDescriptor.GetConverter(targetType);
//See if the TypeConverter for the targetType
//can convert From our object.
//NOTE: This differs from our previous implementation where
// we get the TypeConverter based on our object type and
//attempted to ConvertTo our target type.
if (typeConverter.CanConvertFrom(objType))
{
return typeConverter.ConvertFrom(obj);
}
```
This should also make it possible to add a custom type conversion as detailed in https://stackoverflow.com/a/606992/4583726
Related issue #3129
Beitragsleitfaden
Rechercherichtung
Beginne damit, DefaultBinder zu finden und das zugehörige Issue #3129 zu prüfen. Verfolge den aktuellen Pfad der Typkonvertierung und die vorhandenen Unit-Tests für das Model-Binding. Ermittle anschließend, wie die aufgeführte GUID-Konvertierung, die gemeinsame Basisklasse, die Unterstützung für benutzerdefinierte Konvertierungen und die zusätzliche Testabdeckung zusammenpassen. Als erledigt gilt die Aufgabe, wenn das angeforderte Binder-Verhalten durch erfolgreiche Unit-Tests abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp
- Bereich
- backend-api-design
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100