An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
If you decided to derive REASONS_STOP_BEFORE_TARGET from List and to use LINQ, then check this code:
public class REASONS_STOP_BEFORE_TARGET : List<REASON>
{
public REASONS_STOP_BEFORE_TARGET( IEnumerable<REASON> collection ) : base( collection )
{
}
}
. . .
REASONS_STOP_BEFORE_TARGET result =
new REASONS_STOP_BEFORE_TARGET( from e in xDoc.XPathSelectElements( "/*/REASON" )
select new REASON
{
Value = e.Attribute( "value" ).Value
} );