If 'T' is a struct, yup, although that's specific to the way it is compiled by CoreCLR's JIT or ILC.
For constructor semantics it's best to expose a static abstract interface method Create<T> and have the interface be SomeInterface<Self> where Self : ISomeInterface<Self>.
For example, that's how `INumber<T>` interface works so you can further down the line write `T.Zero`.