Creating a non-trival custom GP tool - inputs, outputs, and responding to environment settings
' Copyright 2008 ESRI
' All rights reserved under the copyright laws of the United States
' and applicable international laws, treaties, and conventions.
' You may freely redistribute and use this sample code, with or
' without modification, provided you include the original copyright
' notice and use restrictions.
' See use restrictions at <your ArcGIS install location>/developerkit/userestrictions.txt.

Imports Microsoft.VisualBasic
Imports System
Imports ESRI.ArcGIS.Geoprocessing
Imports ESRI.ArcGIS.Geodatabase

Namespace GPPointFileInfo
  Public Class ESOverwriteOutput
        Implements GPPointFileInfo.IESOverwriteOutput
    Private _value As Boolean

    Public Sub New(ByVal gpEnvironmentManager As ESRI.ArcGIS.Geoprocessing.IGPEnvironmentManager)
      _value = GetValue(gpEnvironmentManager)
    End Sub

        Public ReadOnly Property Value() As Boolean Implements IESOverwriteOutput.Value
                Return _value
            End Get
        End Property

    Private Function GetValue(ByVal gpEnvironmentManager As ESRI.ArcGIS.Geoprocessing.IGPEnvironmentManager) As Boolean
      Dim value As Boolean

      Dim geoProcessorSettings As IGeoProcessorSettings = TryCast(gpEnvironmentManager, IGeoProcessorSettings)

      value = geoProcessorSettings.OverwriteOutput

      Return value
    End Function
  End Class
End Namespace