public static class Extensions
{
public static bool Contains(this Enum haystack, object needle)
{
int preVal = Convert.ToInt32(haystack);
return (preVal & (int)needle) > 0;
}
public static bool ExtractIfMatch(this String haystack, Regex regex, ref string output)
{
bool res = false;
Match m = regex.Match(haystack);
if (m.Success)
{
output = m.Groups[1].Value;
res = true;
}
return res;
}
public static bool ExtractIfMatch(this String haystack, string regExpression, ref string output)
{
return haystack.ExtractIfMatch(new Regex(regExpression), ref output);
}
}
public static class MyPath
{
public static string GetFullPathWithoutExtension(string path)
{
return Path.Combine(Path.GetDirectoryName(path), Path.GetFileNameWithoutExtension(path));
}
public static string ExtractAndAddDir(string path, string newdir)
{
return Path.Combine(Path.GetDirectoryName(path), newdir);
}
public static string CombineDirSubDirAndFile(string path, string newdir, string file)
{
return Path.Combine(Path.Combine(path, newdir), Path.GetFileName(file));
}
}