Yaakov

Results 208 comments of Yaakov

We already have this abstraction now through `IObjectReflection`/`IObjectMember`. Implementing this should now be trivial.

Any idea what this looks like in text?

So its just two bytes for length and then two bytes per char? Seems simple enough, particularly given that `char` in .NET is already two bytes wide 😈

The whole API probably needs to be revisited, but in the meantime you can cast it, i.e.: ```csharp var depots = data["Software"]["Valve"]["Steam"]["depots"]; foreach (var depot in (IEnumerable)depots) { Console.WriteLine(depot.Name); }...

I was considering this originally but since KV doesn't change much (lol) I figured static test inputs would be good enough.

Publicly exposing the inner `List` ties us to that particular implementation forever, and allows consumers to bypass any validation on the members (currently that is just nullability). What is your...

Casting it to `IEnumerable` should let you enumerate the children, giving you access to both the names and values.

You should be able to simply cast the value to `int` if you don't have a particular culture to use etc.: https://github.com/SteamDatabase/ValveKeyValue/blob/master/ValveKeyValue/ValveKeyValue.Test/KVObjectCastTestCase.cs#L103

```cpp case TYPE_COMPILED_INT_0: { // only for dense storage purposes, flip back to preferred internal format dat->m_iDataType = TYPE_INT; dat->m_iValue = 0; break; } case TYPE_COMPILED_INT_1: { // only for...

Agreed. I was intending to do this once I started on KV3. I'm somewhat tempted also to have a different test assembly for each KV implementation. What are your thoughts...