<ProgramFilesX64>\Microsoft SDKs\Azure\.NET SDK\v2.9\bin\plugins\Diagnostics\Newtonsoft.Json.dll Amazon.Lambda.S3Events AWSSDK.Core AWSSDK.S3 Amazon Amazon.Auth.AccessControlPolicy Amazon.Auth.AccessControlPolicy.ActionIdentifiers Amazon.Internal Amazon.Lambda.S3Events Amazon.MissingTypes Amazon.Runtime Amazon.Runtime.CredentialManagement Amazon.Runtime.CredentialManagement.Internal Amazon.Runtime.EventStreams Amazon.Runtime.EventStreams.Internal Amazon.Runtime.Internal Amazon.Runtime.Internal.Auth Amazon.Runtime.Internal.Settings Amazon.Runtime.Internal.Transform Amazon.Runtime.Internal.Util Amazon.Runtime.SharedInterfaces Amazon.Runtime.SharedInterfaces.Internal Amazon.S3 Amazon.S3.Encryption Amazon.S3.Encryption.Internal Amazon.S3.Internal Amazon.S3.IO Amazon.S3.Model Amazon.S3.Model.Internal.MarshallTransformations Amazon.S3.Transfer Amazon.S3.Util Amazon.Util Amazon.Util.Internal Amazon.Util.Internal.PlatformServices Newtonsoft.Json Newtonsoft.Json.Converters Newtonsoft.Json.Linq Newtonsoft.Json.Schema Newtonsoft.Json.Serialization System System.Diagnostics System.Diagnostics.Tracing System.IO.Compression ThirdParty.BouncyCastle.Asn1 ThirdParty.BouncyCastle.Asn1.Utilities ThirdParty.BouncyCastle.Math ThirdParty.BouncyCastle.OpenSsl ThirdParty.BouncyCastle.Utilities.IO.Pem ThirdParty.Ionic.Zlib ThirdParty.Json.LitJson ThirdParty.MD5 Sub Main Dim aListOfDirectories = New List(Of String) aListOfDirectories.Add("d:\Git") 'This file does not exist IsFileInDirectory("D:\Git\thom.txt", aListOfDirectories).Dump("D:\Git\thom.txt") MyIsFileInDirectory("D:\Git\thom.txt", aListOfDirectories).Dump("D:\Git\thom.txt") 'This file does exist IsFileInDirectory("D:\Git\new migration.txt", aListOfDirectories).Dump("D:\Git\new migration.txt") MyIsFileInDirectory("D:\Git\new migration.txt", aListOfDirectories).Dump("D:\Git\new migration.txt") MyIsFileInDirectory("D:\Git\new migration.txt", aListOfDirectories).Equals(IsFileInDirectory("D:\Git\new migration.txt", aListOfDirectories)).Dump("My Equals not My") End Sub ' Define other methods and classes here Public Shared Function MyIsFileInDirectory(ByVal aFilePath As String, ByVal aListOfDirectories As List(Of String)) As Boolean Dim fileObject = New System.IO.FileInfo(aFilePath) If Not fileObject.Exists Return False End If Return aListOfDirectories _ .Select(Function(allowedDir) New System.IO.DirectoryInfo(allowedDir)) _ .Any(Function(testDirectory) fileObject.Directory.FullName.Equals(testDirectory.FullName.TrimEnd("\"), StringComparison.OrdinalIgnoreCase)) End Function Public Shared Function IsFileInDirectory(ByVal aFilePath As String, ByVal aListOfDirectories As List(Of String)) As Boolean Dim fileObject = New System.IO.FileInfo(aFilePath) For Each allowedDir In aListOfDirectories Dim testDirectory = New System.IO.DirectoryInfo(allowedDir) If fileObject.Directory.FullName.Equals(testDirectory.FullName, StringComparison.OrdinalIgnoreCase) Then Return True End If Next Return False End Function