// Fallback path for hosts that do not set APP_CONTEXT_BASE_DIRECTORY explicitly
string? directory = Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location);
if (directory != null && !Path.EndsInDirectorySeparator(directory))
- directory += Path.DirectorySeparatorChar;
+ directory += PathInternal.DirectorySeparatorCharAsString;
return directory ?? string.Empty;
}
}
public override Type MakeArrayType(int rank)
{
- if (rank <= 0)
- throw new IndexOutOfRangeException();
-
- string szrank = "";
- if (rank == 1)
- {
- szrank = "*";
- }
- else
- {
- for (int i = 1; i < rank; i++)
- szrank += ",";
- }
-
- string s = string.Format(CultureInfo.InvariantCulture, "[{0}]", szrank); // [,,]
+ string s = GetRankString(rank);
return SymbolType.FormCompoundType(s, this, 0)!;
}
public override Type MakeArrayType(int rank)
{
- if (rank <= 0)
- throw new IndexOutOfRangeException();
-
- string szrank = "";
- if (rank == 1)
- {
- szrank = "*";
- }
- else
- {
- for (int i = 1; i < rank; i++)
- szrank += ",";
- }
-
- string s = string.Format(CultureInfo.InvariantCulture, "[{0}]", szrank); // [,,]
+ string s = GetRankString(rank);
SymbolType? st = SymbolType.FormCompoundType(s, this, 0) as SymbolType;
return st!;
}
public override Type MakeArrayType(int rank)
{
- if (rank <= 0)
- throw new IndexOutOfRangeException();
-
- string szrank = "";
- if (rank == 1)
- {
- szrank = "*";
- }
- else
- {
- for (int i = 1; i < rank; i++)
- szrank += ",";
- }
-
- string s = string.Format(CultureInfo.InvariantCulture, "[{0}]", szrank); // [,,]
+ string s = GetRankString(rank);
SymbolType? st = SymbolType.FormCompoundType(m_format + s, m_baseType, 0) as SymbolType;
return st!;
}
public override Type MakeArrayType(int rank)
{
- if (rank <= 0)
- throw new IndexOutOfRangeException();
-
- string szrank = "";
- if (rank == 1)
- {
- szrank = "*";
- }
- else
- {
- for (int i = 1; i < rank; i++)
- szrank += ",";
- }
-
- string s = string.Format(CultureInfo.InvariantCulture, "[{0}]", szrank); // [,,]
+ string s = GetRankString(rank);
return SymbolType.FormCompoundType(s, this, 0)!;
}
if (rank <= 0)
throw new IndexOutOfRangeException();
- string comma = "";
- for (int i = 1; i < rank; i++)
- comma += ",";
+ string s = rank == 1 ?
+ "[]" :
+ "[" + new string(',', rank - 1) + "]";
- string s = string.Format(CultureInfo.InvariantCulture, "[{0}]", comma);
return SymbolType.FormCompoundType(s, this, 0)!;
}
public override Guid GUID { get { throw new NotSupportedException(); } }
/// </summary>
private string NormalizeActivityName(string providerName, string activityName, int task)
{
+ // We use provider name to distinguish between activities from different providers.
+
if (activityName.EndsWith(EventSource.s_ActivityStartSuffix, StringComparison.Ordinal))
- activityName = activityName.Substring(0, activityName.Length - EventSource.s_ActivityStartSuffix.Length);
+ {
+ return string.Concat(providerName, activityName.AsSpan(0, activityName.Length - EventSource.s_ActivityStartSuffix.Length));
+ }
else if (activityName.EndsWith(EventSource.s_ActivityStopSuffix, StringComparison.Ordinal))
- activityName = activityName.Substring(0, activityName.Length - EventSource.s_ActivityStopSuffix.Length);
+ {
+ return string.Concat(providerName, activityName.AsSpan(0, activityName.Length - EventSource.s_ActivityStopSuffix.Length));
+ }
else if (task != 0)
- activityName = "task" + task.ToString();
-
- // We use provider name to distinguish between activities from different providers.
- return providerName + activityName;
+ {
+ return providerName + "task" + task.ToString();
+ }
+ else
+ {
+ return providerName + activityName;
+ }
}
// *******************************************************************************
{
if (dateTimeOffsetPattern == null)
{
- string dateTimePattern = ShortDatePattern + " " + LongTimePattern;
-
/* LongTimePattern might contain a "z" as part of the format string in which case we don't want to append a time zone offset */
bool foundZ = false;
}
}
- if (!foundZ)
- {
- dateTimePattern = dateTimePattern + " zzz";
- }
+ dateTimeOffsetPattern = foundZ ?
+ ShortDatePattern + " " + LongTimePattern :
+ ShortDatePattern + " " + LongTimePattern + " zzz";
- dateTimeOffsetPattern = dateTimePattern;
}
return dateTimeOffsetPattern;
}
return false;
}
+ internal static string GetRankString(int rank)
+ {
+ if (rank <= 0)
+ throw new IndexOutOfRangeException();
+
+ return rank == 1 ?
+ "[*]" :
+ "[" + new string(',', rank - 1) + "]";
+ }
+
private const BindingFlags DeclaredOnlyLookup = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
}
}
}
else if (!tzDirectory.EndsWith(Path.DirectorySeparatorChar))
{
- tzDirectory += Path.DirectorySeparatorChar;
+ tzDirectory += PathInternal.DirectorySeparatorCharAsString;
}
return tzDirectory;