Previous Table of Contents Next


15.3.7 Abstract Interfaces


   Abstract interfaces are encoded as a union with a boolean discriminator. The union has an object reference (see Section 15.3.6, “Object References,? on page 15-30) if the discriminator is TRUE, and a value type (see Section 15.3.4, “Value Types,? on page 15-15) if the discriminator is FALSE. The encoding of value types marshaled as abstract interfaces always includes RepositoryId information. If there is no indication whether a nil abstract interface represents a nil object reference or a null valuetype, it shall be encoded as a null valuetype.