Skip to content

Inherit same interfaces in wrapper types as generated types #740

Closed
@sequc82

Description

@sequc82

Wrapper types such as ReferencePressure are limited in polymorphism functionality. At this point, I'm not sure if there are any other wrapper types, the only other I am aware of is the idea of ReferenceVolumeFlow in #724. Since ReferencePressure does not inherit IQuantity et al., it does not behave as the generated types do. It can not be included in List<IQuantity> for example.

Extend the functionality of ReferencePressure to inherit the same implementation as all other IQuantity types.

For ReferencePressure, a potential workaround is to return Pressure as ReferencePressure.Absolute to use as an IQuantity, but that allows for mistakes to be made by users of the type as an IQuantity.

Essentially, extend ReferencePressure to:

public struct ReferencePressure : IQuantity<PressureUnit>, IEquatable<ReferencePressure>, IComparable, IComparable<ReferencePressure>, IConvertible, IFormattable

Aside from manually implementing all inherited functionality, has anything been done to simplify the resolution of this type of idea? I assume otherwise it would be rather straightforward.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions