diff --git a/SabreTools.Serialization/Interfaces/IWrapper.cs b/SabreTools.Serialization/Interfaces/IWrapper.cs index 5985746e..dc2b9edf 100644 --- a/SabreTools.Serialization/Interfaces/IWrapper.cs +++ b/SabreTools.Serialization/Interfaces/IWrapper.cs @@ -1,11 +1,20 @@ namespace SabreTools.Serialization.Interfaces { - public interface IWrapper + /// + /// Represents a wrapper around a top-level model + /// + /// Top-level model for the wrapper + public interface IWrapper { /// /// Get a human-readable description of the wrapper /// string Description(); + + /// + /// Get the backing model + /// + TModel GetModel(); #if !NETFRAMEWORK /// diff --git a/SabreTools.Serialization/Wrappers/WrapperBase.cs b/SabreTools.Serialization/Wrappers/WrapperBase.cs index 7ab54896..4805c188 100644 --- a/SabreTools.Serialization/Wrappers/WrapperBase.cs +++ b/SabreTools.Serialization/Wrappers/WrapperBase.cs @@ -8,7 +8,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Wrappers { - public abstract class WrapperBase : IWrapper + public abstract class WrapperBase : IWrapper { #region Descriptive Properties @@ -24,6 +24,9 @@ namespace SabreTools.Serialization.Wrappers #region Properties + /// + public T GetModel() => Model; + /// /// Internal model ///