empira / PDFsharp

PDFsharp and MigraDoc Foundation for .NET 6 and .NET Framework
https://docs.pdfsharp.net/
Other
492 stars 114 forks source link

Add `Value` and `this[string name]` to PdfItem. #96

Open Audionysos opened 7 months ago

Audionysos commented 7 months ago

Adding Value property to PDFItem eliminates the need to cast an item to PDFReference and the need to check if it's actual reference (I believe in most scenarios the API users don't care if it's a reference or not).

Adding this[string] eliminates both, the need to use .Elements property and need of casting an item to PDFDictonary at every step.

This greatly simplifies traversing the objects trees as you can see in below image. On both sides the code do the same thing. Screenshot 2024-03-02 012231

Please ignore the first commit as it was from previous PR. Tell me what you think about that?