cefsharp / cefsharp/CefSharp

Feature Request - Improve DefaultBinder

Offen
#3,137 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
feature-request
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.