Stephen Toub shows how to augment System.IO.Compression to support named GZIP streams. He also discusses the terms "covariance" and "contravariance", showing how they apply to the .NET Framework 2.0.
.NET Matters: NamedGZipStream, Covariance and Contravariance
.NET Matters: NamedGZipStream, Covariance and Contravariance