You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We would eventually like to support in-process variants of all the interactive classes in this wrapper, but right now we have some general structure that would need to change to make this easier.
The primary problem is when we want a class to be an extension of multiple classes. An example could be MediaStreamTrackInProcess, the in-process variant of MediaStreamTrack. We would like to have this be an extension of MediaStreamTrackandEventTargetInProcess but we can't do this. A way to come around this is using ✨interfaces✨. We have tried to start this by making an interface for EventTargetInProcess called IEventTargetInProcess. The problem with this is that we then have to implement all the methods from that interface still. What we would really like is multiple inheritances of implementations similar to interface mixins from the WebIDL standard. What we have tried to mitigate how much code we need to duplicate is to have the implementations be in separate static methods that can be used in all implementations of the IEventTargetInProcess interface. But that doesn't really solve the problem itself.
The text was updated successfully, but these errors were encountered:
We would eventually like to support in-process variants of all the interactive classes in this wrapper, but right now we have some general structure that would need to change to make this easier.
The start of this process can be seen in the branch: https://github.com/KristofferStrube/Blazor.MediaCaptureStreams/tree/feature/in-process-classes
The primary problem is when we want a class to be an extension of multiple classes. An example could be
MediaStreamTrackInProcess
, the in-process variant ofMediaStreamTrack
. We would like to have this be an extension ofMediaStreamTrack
andEventTargetInProcess
but we can't do this. A way to come around this is using ✨interfaces✨. We have tried to start this by making an interface forEventTargetInProcess
calledIEventTargetInProcess
. The problem with this is that we then have to implement all the methods from that interface still. What we would really like is multiple inheritances of implementations similar to interface mixins from the WebIDL standard. What we have tried to mitigate how much code we need to duplicate is to have the implementations be in separate static methods that can be used in all implementations of theIEventTargetInProcess
interface. But that doesn't really solve the problem itself.The text was updated successfully, but these errors were encountered: