Here are the examples of the csharp api System.Diagnostics.StackFrame.GetMethod() taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
523 Examples
19
View Source File : Fuzzer.cs
License : Apache License 2.0
Project Creator : 42skillz
License : Apache License 2.0
Project Creator : 42skillz
private static string FindTheNameOfTheTestInvolved()
{
var testName = "(not found)";
try
{
var stackTrace = new StackTrace();
var testMethod = stackTrace.GetFrames().Select(sf => sf.GetMethod()).First(IsATestMethod);
testName = $"{testMethod.DeclaringType.Name}.{testMethod.Name}";
}
catch
{
}
return testName;
}
19
View Source File : MethodCapture.cs
License : Apache License 2.0
Project Creator : 42skillz
License : Apache License 2.0
Project Creator : 42skillz
[MethodImpl(MethodImplOptions.NoInlining)]
public static MethodBase CaptureCurrentMethod()
{
var st = new StackTrace();
var sf = st.GetFrame(1);
var method = sf.GetMethod();
return method;
}
19
View Source File : AppLogger.cs
License : MIT License
Project Creator : adrianmteo
License : MIT License
Project Creator : adrianmteo
public static ILogger GetLoggerForCurrentClreplaced()
{
ILogger logger = new MultiLogger(
new FileLogger("application.log") { MinimumLevel = LogLevel.Info },
new FileLogger("error.log") { MinimumLevel = LogLevel.Error },
new ConsoleLogger() { MaximumLevel = LogLevel.Error }
);
StackTrace trace = new StackTrace();
if (trace.FrameCount > 1)
{
logger.Tag = trace.GetFrame(1).GetMethod().DeclaringType.Name;
}
return logger;
}
19
View Source File : BeatmapDataTransformHelper.cs
License : MIT License
Project Creator : Aeroluna
License : MIT License
Project Creator : Aeroluna
private static void Postfix(IReadonlyBeatmapData __result)
{
// Skip if calling clreplaced is MultiplayerConnectPlayerInstaller
StackTrace stackTrace = new StackTrace();
if (!stackTrace.GetFrame(2).GetMethod().Name.Contains("MultiplayerConnectedPlayerInstaller"))
{
NoodleObjectDataManager.DeserializeBeatmapData(__result);
Animation.NoodleEventDataManager.DeserializeBeatmapData(__result);
}
}
19
View Source File : BeatmapDataTransformHelper.cs
License : MIT License
Project Creator : Aeroluna
License : MIT License
Project Creator : Aeroluna
[HarmonyPriority(Priority.High)]
private static void Postfix(IReadonlyBeatmapData __result)
{
if (__result is CustomBeatmapData customBeatmapData)
{
TrackBuilder trackManager = new TrackBuilder(customBeatmapData);
foreach (BeatmapLineData beatmapLineData in customBeatmapData.beatmapLinesData)
{
foreach (BeatmapObjectData beatmapObjectData in beatmapLineData.beatmapObjectsData)
{
Dictionary<string, object?> dynData;
switch (beatmapObjectData)
{
case CustomObstacleData obstacleData:
dynData = obstacleData.customData;
break;
case CustomNoteData noteData:
dynData = noteData.customData;
break;
default:
continue;
}
// for epic tracks thing
object? trackNameRaw = dynData.Get<object>(TRACK);
if (trackNameRaw != null)
{
IEnumerable<string> trackNames;
if (trackNameRaw is List<object> listTrack)
{
trackNames = listTrack.Cast<string>();
}
else
{
trackNames = new string[] { (string)trackNameRaw };
}
foreach (string trackName in trackNames)
{
trackManager.AddTrack(trackName);
}
}
}
}
customBeatmapData.customData["tracks"] = trackManager.Tracks;
PointDefinitionBuilder pointDataManager = new PointDefinitionBuilder();
IEnumerable<Dictionary<string, object?>>? pointDefinitions = customBeatmapData.customData.Get<List<object>>(POINTDEFINITIONS)?.Cast<Dictionary<string, object?>>();
if (pointDefinitions != null)
{
foreach (Dictionary<string, object?> pointDefintion in pointDefinitions)
{
string pointName = pointDefintion.Get<string>(NAME) ?? throw new InvalidOperationException("Failed to retrieve point name.");
PointDefinition pointData = PointDefinition.ListToPointDefinition(pointDefintion.Get<List<object>>(POINTS) ?? throw new InvalidOperationException("Failed to retrieve point array."));
pointDataManager.AddPoint(pointName, pointData);
}
}
customBeatmapData.customData["pointDefinitions"] = pointDataManager.PointData;
// EVENT DATA STUFF HERE
// Skip if calling clreplaced is MultiplayerConnectPlayerInstaller
StackTrace stackTrace = new StackTrace();
if (!stackTrace.GetFrame(2).GetMethod().Name.Contains("MultiplayerConnectedPlayerInstaller"))
{
HeckEventDataManager.DeserializeBeatmapData(customBeatmapData);
}
}
}
19
View Source File : MenuTransitionsHelper.cs
License : MIT License
Project Creator : Aeroluna
License : MIT License
Project Creator : Aeroluna
private static bool Prefix(
MenuTransitionsHelper __instance,
string gameMode,
IDifficultyBeatmap difficultyBeatmap,
IPreviewBeatmapLevel previewBeatmapLevel,
OverrideEnvironmentSettings overrideEnvironmentSettings,
ColorScheme overrideColorScheme,
GameplayModifiers gameplayModifiers,
PlayerSpecificSettings playerSpecificSettings,
PracticeSettings practiceSettings,
string backButtonText,
bool useTestNoteCutSoundEffects,
Action beforeSceneSwitchCallback,
Action<StandardLevelScenesTransitionSetupDataSO, LevelCompletionResults> levelFinishedCallback)
{
// When in doubt, wrap everything in one big try catch statement!
try
{
// In a perfect world I would patch SingePlayerLevelSelectionFlowCoordinator instead, but im a lazy mf
// SO WEIRD STACK TRACE JANKINESS WE GO!!!
StackTrace stackTrace = new StackTrace();
if (stackTrace.GetFrame(2).GetMethod().Name.Contains("SinglePlayerLevelSelectionFlowCoordinator"))
{
SettingsSetterViewController.StartStandardLevelParameters startStandardLevelParameters = new SettingsSetterViewController.StartStandardLevelParameters(
gameMode,
difficultyBeatmap,
previewBeatmapLevel,
overrideEnvironmentSettings,
overrideColorScheme,
gameplayModifiers,
playerSpecificSettings,
practiceSettings,
backButtonText,
useTestNoteCutSoundEffects,
beforeSceneSwitchCallback,
levelFinishedCallback);
SettingsSetterViewController.Instance.Init(startStandardLevelParameters, __instance);
return !SettingsSetterViewController.Instance.DoPresent;
}
else
{
Plugin.Logger.Log("Level started outside of SinglePlayerLevelSelectionFlowCoordinator, skipping settable settings.", IPA.Logging.Logger.Level.Trace);
}
}
catch (Exception e)
{
Plugin.Logger.Log($"Could not setup settable settings!", IPA.Logging.Logger.Level.Error);
Plugin.Logger.Log(e, IPA.Logging.Logger.Level.Error);
}
return true;
}
19
View Source File : Debug.cs
License : The Unlicense
Project Creator : aeroson
License : The Unlicense
Project Creator : aeroson
static void Log(object obj, bool canRepeat)
{
var s = obj.ToString();
if (canRepeat || !alreadyShown.Contains(s))
{
var t=new StackTrace(2);
var f = t.GetFrame(0);
var m = f.GetMethod();
if(!canRepeat) alreadyShown.Add(s);
Console.WriteLine("["+m.DeclaringType.Name+"."+m.Name+"] "+s);
}
}
19
View Source File : TraceLogger.cs
License : GNU General Public License v3.0
Project Creator : aiportal
License : GNU General Public License v3.0
Project Creator : aiportal
private string GetFunctionFullName(int aSkipFrames)
{
string str = string.Empty;
try
{
StackFrame frame = new StackFrame(aSkipFrames);
StackTrace trace = new StackTrace(frame);
string name = frame.GetMethod().Name;
string[] strArray = trace.ToString().Split(new char[] { '.' });
string str3 = strArray[strArray.Length - 2];
str = string.Format("{0}::{1}", name, str3);
}
catch (Exception)
{
}
return str;
}
19
View Source File : DebugLog.cs
License : GNU General Public License v3.0
Project Creator : aiportal
License : GNU General Public License v3.0
Project Creator : aiportal
private static string GetFunctionFullName(int skipFrames)
{
string str = string.Empty;
try
{
StackFrame frame = new StackFrame(skipFrames);
var method = frame.GetMethod();
str = string.Format("{0}::{1}", method.Name, method.DeclaringType.Name);
}
catch (Exception) { }
return str;
}
19
View Source File : MapboxUnitTests_SQLiteCache.cs
License : MIT License
Project Creator : alen-smajic
License : MIT License
Project Creator : alen-smajic
[Test, Order(1)]
public void InsertSameTileNoOverwrite()
{
string methodName = _clreplacedName + "." + new StackFrame().GetMethod().Name;
List<long> elapsed = simpleInsert(TS_NO_OVERWRITE, false);
logTime(methodName, elapsed);
cacheItemreplacederts(TS_NO_OVERWRITE, new CanonicalTileId(0, 0, 0));
replacedert.AreEqual(1, _cache.TileCount(TS_NO_OVERWRITE), "tileset {0}: unexpected number of tiles", TS_NO_OVERWRITE);
}
19
View Source File : MapboxUnitTests_SQLiteCache.cs
License : MIT License
Project Creator : alen-smajic
License : MIT License
Project Creator : alen-smajic
[Test, Order(2)]
public void InsertSameTileForceOverwrite()
{
string methodName = _clreplacedName + "." + new StackFrame().GetMethod().Name;
List<long> elapsed = simpleInsert(TS_FORCE_OVERWRITE, true);
logTime(methodName, elapsed);
cacheItemreplacederts(TS_FORCE_OVERWRITE, new CanonicalTileId(0, 0, 0));
replacedert.AreEqual(1, _cache.TileCount(TS_FORCE_OVERWRITE), "tileset {0}: unexpected number of tiles", TS_FORCE_OVERWRITE);
}
19
View Source File : MapboxUnitTests_SQLiteCache.cs
License : MIT License
Project Creator : alen-smajic
License : MIT License
Project Creator : alen-smajic
[Test, Order(5)]
public void Prune()
{
string methodName = _clreplacedName + "." + new StackFrame().GetMethod().Name;
HashSet<CanonicalTileId> tileIds = new HashSet<CanonicalTileId>();
int tiles2Insert = (int)_maxCacheTileCount + (int)_cache.PruneCacheDelta + 1;
ued.Log(string.Format("about to insert {0} tiles", tiles2Insert));
for (int x = 0; x < tiles2Insert; x++)
{
tileIds.Add(new CanonicalTileId(x, 131205, 18));
}
List<long> elapsed = simpleInsert(TS_PRUNE, false, tileIds);
logTime(methodName, elapsed);
replacedert.AreEqual(_maxCacheTileCount, _cache.TileCount(TS_PRUNE), _cache.PruneCacheDelta, "tileset [{0}]: pruning did not work as expected", TS_PRUNE);
}
19
View Source File : TempDir.cs
License : GNU General Public License v3.0
Project Creator : Alois-xx
License : GNU General Public License v3.0
Project Creator : Alois-xx
[MethodImpl(MethodImplOptions.NoInlining)]
public static ITempDir Create()
{
var stack = new StackTrace(1);
var sf = stack.GetFrame(0);
return new TempDir(sf.GetMethod().Name);
}
19
View Source File : Logger.cs
License : MIT License
Project Creator : AlternateLife
License : MIT License
Project Creator : AlternateLife
private string GetCallerType()
{
string clreplacedName;
var framesToSkip = FramesToSkip;
var lastClreplaced = string.Empty;
do
{
var frame = new StackFrame(framesToSkip, false);
var method = frame.GetMethod();
if (method == null)
{
clreplacedName = lastClreplaced;
break;
}
var declaringType = method.DeclaringType;
if (declaringType == null)
{
clreplacedName = method.Name;
break;
}
framesToSkip++;
clreplacedName = declaringType.FullName;
lastClreplaced = clreplacedName;
} while (clreplacedName.StartsWith("System.", StringComparison.Ordinal));
return clreplacedName;
}
19
View Source File : GlobalDebug.cs
License : MIT License
Project Creator : ambid17
License : MIT License
Project Creator : ambid17
public static void Error(string message)
{
var callingMethod = new StackTrace().GetFrame(1).GetMethod();
string callingMethodName = callingMethod.Name;
string callingClreplacedName = callingMethod.ReflectedType.Name;
string debugMessage = (">" + callingClreplacedName + "." + callingMethodName + "(): " + message + "\n");
//debugText.text += debugMessage;
UnityEngine.Debug.Log(debugMessage);
}
19
View Source File : GlobalDebug.cs
License : MIT License
Project Creator : ambid17
License : MIT License
Project Creator : ambid17
public static void Debug(string message)
{
if (LogLevel.Debug == logLevel)
{
var callingMethod = new StackTrace().GetFrame(1).GetMethod();
string callingMethodName = callingMethod.Name;
string callingClreplacedName = callingMethod.ReflectedType.Name;
string debugMessage = (">" + callingClreplacedName + "." + callingMethodName + "(): " + message + "\n");
//debugText.text += debugMessage;
UnityEngine.Debug.Log(debugMessage);
}
}
19
View Source File : ModSocketOutput.cs
License : MIT License
Project Creator : amazingalek
License : MIT License
Project Creator : amazingalek
private string GetCallingType(StackTrace frame)
{
try
{
return frame.GetFrame(1).GetMethod().DeclaringType.Name;
}
catch (Exception ex)
{
var message = new ModSocketMessage
{
SenderName = Constants.Owmlreplacedle,
SenderType = nameof(ModSocketOutput),
Type = MessageType.Error,
Message = $"Error while getting calling type : {ex.Message}"
};
_socket.WriteToSocket(message);
return string.Empty;
}
}
19
View Source File : IResultExtensions.cs
License : Apache License 2.0
Project Creator : AndcultureCode
License : Apache License 2.0
Project Creator : AndcultureCode
public static IError AddError<T>(this IResult<T> result, string message)
{
var frame = new StackFrame(1);
var method = frame.GetMethod();
var clreplacedName = method.DeclaringType.Name;
var methodName = Regex.Replace(method.Name, "<|>.*", ""); // Method name without wrapper
var key = $"{clreplacedName}.{methodName}";
return result.AddError(ErrorType.Error, key, message);
}
19
View Source File : IResultExtensions.cs
License : Apache License 2.0
Project Creator : AndcultureCode
License : Apache License 2.0
Project Creator : AndcultureCode
public static void AddErrorAndLog<T>(this IResult<T> result, ILogger logger, string errorKey, string errorMessage, long? resourceIdentifier = null)
{
var methodName = new StackTrace().GetFrame(1).GetMethod().Name;
var logMessage = errorMessage;
result.AddErrorsAndLog<T>(logger, errorKey, errorMessage, logMessage, resourceIdentifier?.ToString(), null, methodName);
}
19
View Source File : IResultExtensions.cs
License : Apache License 2.0
Project Creator : AndcultureCode
License : Apache License 2.0
Project Creator : AndcultureCode
public static void AddErrorsAndLog<T>(this IResult<T> result, ILogger logger, string errorKey, string errorMessage, long resourceIdentifier, IEnumerable<IError> errors = null)
{
var methodName = new StackTrace().GetFrame(1).GetMethod().Name;
var logMessage = errorMessage;
result.AddErrorsAndLog<T>(logger, errorKey, errorMessage, logMessage, resourceIdentifier.ToString(), errors, methodName);
}
19
View Source File : IResultExtensions.cs
License : Apache License 2.0
Project Creator : AndcultureCode
License : Apache License 2.0
Project Creator : AndcultureCode
public static void AddErrorsAndLog<T>(this IResult<T> result, ILogger logger, string errorKey, string errorMessage, IEnumerable<IError> errors = null)
{
var methodName = new StackTrace().GetFrame(1).GetMethod().Name;
var logMessage = errorMessage;
result.AddErrorsAndLog<T>(logger, errorKey, errorMessage, logMessage, null, errors, methodName);
}
19
View Source File : IResultExtensions.cs
License : Apache License 2.0
Project Creator : AndcultureCode
License : Apache License 2.0
Project Creator : AndcultureCode
public static void AddErrorsAndLog<T>(this IResult<T> result, ILogger logger, string errorKey, string errorMessage, string logMessage, string resourceIdentifier, IEnumerable<IError> errors = null, string methodName = null)
{
if (string.IsNullOrWhiteSpace(errorMessage))
{
errorMessage = "";
}
// Add singular error
if (!string.IsNullOrWhiteSpace(errorKey))
{
result.AddError(errorKey, errorMessage);
}
// Add error list
if (errors != null && errors.Any())
{
result.AddErrors(errors);
}
var identifierText = !string.IsNullOrWhiteSpace(resourceIdentifier) ? $" ({resourceIdentifier}) -" : "";
// If not provided, try to detect method name
if (string.IsNullOrWhiteSpace(methodName))
{
methodName = new StackTrace().GetFrame(1).GetMethod().Name;
}
// Log all of the above
logger.LogError($"[{methodName}]{identifierText} {logMessage}");
}
19
View Source File : IResultExtensions.cs
License : Apache License 2.0
Project Creator : AndcultureCode
License : Apache License 2.0
Project Creator : AndcultureCode
public static void AddErrorAndLog<T>(this IResult<T> result, ILogger logger, IStringLocalizer localizer, string errorKey, params object[] arguments)
{
var errorMessage = localizer[errorKey, arguments];
var logMessage = localizer.Default(errorKey, arguments);
var methodName = new StackTrace().GetFrame(1).GetMethod().Name;
result.AddErrorsAndLog<T>(logger, errorKey, errorMessage, logMessage, null, null, methodName);
}
19
View Source File : IResultExtensions.cs
License : Apache License 2.0
Project Creator : AndcultureCode
License : Apache License 2.0
Project Creator : AndcultureCode
public static void AddErrorAndLog<T>(this IResult<T> result, ILogger logger, IStringLocalizer localizer, string errorKey, long resourceIdentifier, params object[] arguments)
{
var errorMessage = localizer[errorKey, arguments];
var logMessage = localizer.Default(errorKey, arguments);
var methodName = new StackTrace().GetFrame(1).GetMethod().Name;
result.AddErrorsAndLog<T>(logger, errorKey, errorMessage, logMessage, resourceIdentifier.ToString(), null, methodName);
}
19
View Source File : IResultExtensions.cs
License : Apache License 2.0
Project Creator : AndcultureCode
License : Apache License 2.0
Project Creator : AndcultureCode
public static void AddErrorsAndLog<T>(this IResult<T> result, ILogger logger, IStringLocalizer localizer, string errorKey, long resourceIdentifier, IEnumerable<IError> errors = null, params object[] arguments)
{
var errorMessage = localizer[errorKey, arguments];
var logMessage = localizer.Default(errorKey, arguments);
var methodName = new StackTrace().GetFrame(1).GetMethod().Name;
result.AddErrorsAndLog<T>(logger, errorKey, errorMessage, logMessage, resourceIdentifier.ToString(), errors, methodName);
}
19
View Source File : Do.cs
License : Apache License 2.0
Project Creator : AndcultureCode
License : Apache License 2.0
Project Creator : AndcultureCode
public static Do<T> TrySeed<TContext>(
SeedsBase<TContext> seeds,
Func<IResult<T>, T> workload,
string seedName = null
)
where TContext : clreplaced, IContext
{
var d = new Do<T>(workload);
// Default seedName to invoking method name
if (string.IsNullOrWhiteSpace(seedName))
{
seedName = new StackTrace().GetFrame(1).GetMethod().Name;
}
try
{
seeds.LogStart(seedName);
d.Result.ResultObject = workload(d.Result);
}
catch (Exception ex)
{
d.Exception = ex;
// Add the exception to the IResult object by default
d.Result.AddExceptionError(ex.GetType().Name, ex);
seeds.Log(seedName, d.Result.ListErrors());
}
seeds.LogEnd(seedName);
return d;
}
19
View Source File : ILogger.cs
License : GNU General Public License v3.0
Project Creator : AndreiFedarets
License : GNU General Public License v3.0
Project Creator : AndreiFedarets
private static string GenerateStack()
{
StringBuilder builder = new StringBuilder();
builder.AppendLine("StackTrace:");
StackTrace stackTrace = new StackTrace();
StackFrame[] frames = stackTrace.GetFrames();
for (int i = 2; i < frames.Length; i++)
{
StackFrame frame = frames[i];
builder.AppendLine(" " + frame.GetMethod().GetFullName());
}
return builder.ToString();
}
19
View Source File : LogData.cs
License : MIT License
Project Creator : andruzzzhka
License : MIT License
Project Creator : andruzzzhka
public override string ToString ()
{
var header = String.Format ("{0}|{1,-5}|", _date, _level);
var method = _caller.GetMethod ();
var type = method.DeclaringType;
#if DEBUG
var lineNum = _caller.GetFileLineNumber ();
var headerAndCaller =
String.Format ("{0}{1}.{2}:{3}|", header, type.Name, method.Name, lineNum);
#else
var headerAndCaller = String.Format ("{0}{1}.{2}|", header, type.Name, method.Name);
#endif
var msgs = _message.Replace ("\r\n", "\n").TrimEnd ('\n').Split ('\n');
if (msgs.Length <= 1)
return String.Format ("{0}{1}", headerAndCaller, _message);
var buff = new StringBuilder (String.Format ("{0}{1}\n", headerAndCaller, msgs[0]), 64);
var fmt = String.Format ("{{0,{0}}}{{1}}\n", header.Length);
for (var i = 1; i < msgs.Length; i++)
buff.AppendFormat (fmt, "", msgs[i]);
buff.Length--;
return buff.ToString ();
}
19
View Source File : BaseTestCase.cs
License : Apache License 2.0
Project Creator : apache
License : Apache License 2.0
Project Creator : apache
protected string GetMethodName()
{
StackTrace stackTrace = new StackTrace();
return stackTrace.GetFrame(1).GetMethod().Name;
}
19
View Source File : ZipFile.Save.cs
License : Apache License 2.0
Project Creator : Appdynamics
License : Apache License 2.0
Project Creator : Appdynamics
public static bool WriteCentralDirectoryStructure(Stream s,
ICollection<ZipEntry> entries,
uint numSegments,
Zip64Option zip64,
String comment,
ZipContainer container)
{
var zss = s as ZipSegmentedStream;
if (zss != null)
zss.ContiguousWrite = true;
// write to a memory stream in order to keep the
// CDR contiguous
Int64 aLength = 0;
using (var ms = new MemoryStream())
{
foreach (ZipEntry e in entries)
{
if (e.IncludedInMostRecentSave)
{
// this writes a ZipDirEntry corresponding to the ZipEntry
e.WriteCentralDirectoryEntry(ms);
}
}
var a = ms.ToArray();
s.Write(a, 0, a.Length);
aLength = a.Length;
}
// We need to keep track of the start and
// Finish of the Central Directory Structure.
// Cannot always use WriteStream.Length or Position; some streams do
// not support these. (eg, ASP.NET Response.OutputStream) In those
// cases we have a CountingStream.
// Also, we cannot just set Start as s.Position bfore the write, and Finish
// as s.Position after the write. In a split zip, the write may actually
// flip to the next segment. In that case, Start will be zero. But we
// don't know that til after we know the size of the thing to write. So the
// answer is to compute the directory, then ask the ZipSegmentedStream which
// segment that directory would fall in, it it were written. Then, include
// that data into the directory, and finally, write the directory to the
// output stream.
var output = s as CountingStream;
long Finish = (output != null) ? output.ComputedPosition : s.Position; // BytesWritten
long Start = Finish - aLength;
// need to know which segment the EOCD record starts in
UInt32 startSegment = (zss != null)
? zss.CurrentSegment
: 0;
Int64 SizeOfCentralDirectory = Finish - Start;
int countOfEntries = CountEntries(entries);
bool needZip64CentralDirectory =
zip64 == Zip64Option.Always ||
countOfEntries >= 0xFFFF ||
SizeOfCentralDirectory > 0xFFFFFFFF ||
Start > 0xFFFFFFFF;
byte[] a2 = null;
// emit ZIP64 extensions as required
if (needZip64CentralDirectory)
{
if (zip64 == Zip64Option.Never)
{
#if NETCF || Core
throw new ZipException("The archive requires a ZIP64 Central Directory. Consider enabling ZIP64 extensions.");
#else
System.Diagnostics.StackFrame sf = new System.Diagnostics.StackFrame(1);
if (sf.GetMethod().DeclaringType == typeof(ZipFile))
throw new ZipException("The archive requires a ZIP64 Central Directory. Consider setting the ZipFile.UseZip64WhenSaving property.");
else
throw new ZipException("The archive requires a ZIP64 Central Directory. Consider setting the ZipOutputStream.EnableZip64 property.");
#endif
}
var a = GenZip64EndOfCentralDirectory(Start, Finish, countOfEntries, numSegments);
a2 = GenCentralDirectoryFooter(Start, Finish, zip64, countOfEntries, comment, container);
if (startSegment != 0)
{
UInt32 thisSegment = zss.ComputeSegment(a.Length + a2.Length);
int i = 16;
// number of this disk
Array.Copy(BitConverter.GetBytes(thisSegment), 0, a, i, 4);
i += 4;
// number of the disk with the start of the central directory
//Array.Copy(BitConverter.GetBytes(startSegment), 0, a, i, 4);
Array.Copy(BitConverter.GetBytes(thisSegment), 0, a, i, 4);
i = 60;
// offset 60
// number of the disk with the start of the zip64 eocd
Array.Copy(BitConverter.GetBytes(thisSegment), 0, a, i, 4);
i += 4;
i += 8;
// offset 72
// total number of disks
Array.Copy(BitConverter.GetBytes(thisSegment), 0, a, i, 4);
}
s.Write(a, 0, a.Length);
}
else
a2 = GenCentralDirectoryFooter(Start, Finish, zip64, countOfEntries, comment, container);
// now, the regular footer
if (startSegment != 0)
{
// The replacedumption is the central directory is never split across
// segment boundaries.
UInt16 thisSegment = (UInt16) zss.ComputeSegment(a2.Length);
int i = 4;
// number of this disk
Array.Copy(BitConverter.GetBytes(thisSegment), 0, a2, i, 2);
i += 2;
// number of the disk with the start of the central directory
//Array.Copy(BitConverter.GetBytes((UInt16)startSegment), 0, a2, i, 2);
Array.Copy(BitConverter.GetBytes(thisSegment), 0, a2, i, 2);
i += 2;
}
s.Write(a2, 0, a2.Length);
// reset the contiguous write property if necessary
if (zss != null)
zss.ContiguousWrite = false;
return needZip64CentralDirectory;
}
19
View Source File : ModelBuilderExtensions.cs
License : MIT License
Project Creator : ardalis
License : MIT License
Project Creator : ardalis
public static void ApplyAllConfigurationsFromCurrentreplacedembly(this ModelBuilder modelBuilder, replacedembly replacedembly = null, string configNamespace = "")
{
var applyGenericMethods = typeof(ModelBuilder).GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.FlattenHierarchy);
var applyGenericApplyConfigurationMethods = applyGenericMethods.Where(m => m.IsGenericMethod && m.Name.Equals("ApplyConfiguration", StringComparison.OrdinalIgnoreCase));
var applyGenericMethod = applyGenericApplyConfigurationMethods.Where(m => m.GetParameters().FirstOrDefault().ParameterType.Name == "IEnreplacedyTypeConfiguration`1").FirstOrDefault();
var callingreplacedembly = new StackFrame(1).GetMethod().DeclaringType.replacedembly;
var replacedemblyToUse = replacedembly ?? callingreplacedembly;
var applicableTypes = replacedemblyToUse
.GetTypes()
.Where(c => c.IsClreplaced && !c.IsAbstract && !c.ContainsGenericParameters);
if (!string.IsNullOrEmpty(configNamespace))
{
applicableTypes = applicableTypes.Where(c => c.Namespace == configNamespace);
}
foreach (var type in applicableTypes)
{
foreach (var iface in type.GetInterfaces())
{
// if type implements interface IEnreplacedyTypeConfiguration<SomeEnreplacedy>
if (iface.IsConstructedGenericType && iface.GetGenericTypeDefinition() == typeof(IEnreplacedyTypeConfiguration<>))
{
// make concrete ApplyConfiguration<SomeEnreplacedy> method
var applyConcreteMethod = applyGenericMethod.MakeGenericMethod(iface.GenericTypeArguments[0]);
// and invoke that with fresh instance of your configuration type
applyConcreteMethod.Invoke(modelBuilder, new object[] { Activator.CreateInstance(type) });
Console.WriteLine("applied model " + type.Name);
break;
}
}
}
}
19
View Source File : UnityDebugViewerLogger.cs
License : Apache License 2.0
Project Creator : AsanCai
License : Apache License 2.0
Project Creator : AsanCai
[IgnoreStackTrace]
private static List<StackFrame> ParseSystemStackTrace(ref string extraInfo)
{
List<StackFrame> stackFrameList = new List<StackFrame>();
StackTrace stackTrace = new StackTrace(true);
StackFrame[] stackFrames = stackTrace.GetFrames();
for (int i = 0; i < stackFrames.Length; i++)
{
StackFrame stackFrame = stackFrames[i];
var method = stackFrame.GetMethod();
if (!method.IsDefined(typeof(IgnoreStackTrace), true))
{
/// ignore all the stack message generated by Unity internal method
if (method.Name.Equals("InternalInvoke"))
{
break;
}
stackFrameList.Add(stackFrame);
}
else
{
foreach (object attributes in method.GetCustomAttributes(false))
{
IgnoreStackTrace ignoreAttr = (IgnoreStackTrace)attributes;
/// check and display corresponding method as extraInfo
if (ignoreAttr != null && ignoreAttr.showAsExtraInfo)
{
string methodParam = string.Empty;
var paramArray = method.GetParameters();
if (paramArray != null)
{
string[] paramType = new string[paramArray.Length];
for (int index = 0; index < paramArray.Length; index++)
{
paramType[index] = paramArray[index].ParameterType.Name;
}
methodParam = string.Join(", ", paramType);
}
extraInfo = string.Format("{0}:{1}({2})", method.DeclaringType.FullName, method.Name, methodParam);
}
}
}
}
return stackFrameList;
}
19
View Source File : Program.cs
License : MIT License
Project Creator : askguanyu
License : MIT License
Project Creator : askguanyu
public static string GetStackFrameInfo(int skipFrames)
{
StackFrame stackFrame = new StackFrame(skipFrames < 1 ? 1 : skipFrames + 1, true);
MethodBase method = stackFrame.GetMethod();
if (method != null)
{
StringBuilder result = new StringBuilder();
result.Append(method.Name);
if (method is MethodInfo && ((MethodInfo)method).IsGenericMethod)
{
Type[] genericArguments = ((MethodInfo)method).GetGenericArguments();
result.Append("<");
int i = 0;
bool flag = true;
while (i < genericArguments.Length)
{
if (!flag)
{
result.Append(",");
}
else
{
flag = false;
}
result.Append(genericArguments[i].Name);
i++;
}
result.Append(">");
}
result.Append(" in ");
result.Append(Path.GetFileName(stackFrame.GetFileName()) ?? "<unknown>");
result.Append(":");
result.Append(stackFrame.GetFileLineNumber());
return result.ToString();
}
else
{
return "<null>";
}
}
19
View Source File : AsposeGisConversion.cs
License : MIT License
Project Creator : aspose-gis
License : MIT License
Project Creator : aspose-gis
private Response ProcessTask(string fileName, string folderName, string outFileExtension, bool createZip, bool checkNumberofPages, ActionDelegate action)
{
Aspose.GIS.Live.Demos.UI.Models.License.SetAsposeGisLicense();
return Process(this.GetType().Name, fileName, folderName, outFileExtension, createZip, checkNumberofPages, (new StackTrace()).GetFrame(5).GetMethod().Name, action);
}
19
View Source File : AsposePdfWatermark.cs
License : MIT License
Project Creator : aspose-pdf
License : MIT License
Project Creator : aspose-pdf
private Response ProcessTask(string fileName, string folderName, string outFileExtension, bool createZip, bool checkNumberofPages, ActionDelegate action)
{
License.SetAsposePdfLicense();
return Process(this.GetType().Name, fileName, folderName, outFileExtension, createZip, checkNumberofPages, (new StackTrace()).GetFrame(5).GetMethod().Name, action);
}
19
View Source File : CallerEnricher.cs
License : GNU General Public License v3.0
Project Creator : atomex-me
License : GNU General Public License v3.0
Project Creator : atomex-me
public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
{
var skip = 3;
while (true)
{
var stack = new StackFrame(skip);
if (!stack.HasMethod()) {
logEvent.AddPropertyIfAbsent(new LogEventProperty(CallerPropertyName, new ScalarValue("<unknown method>")));
logEvent.AddPropertyIfAbsent(new LogEventProperty(ClreplacedPropertyName, new ScalarValue("<unknown clreplaced>")));
return;
}
var method = stack.GetMethod();
if (method.DeclaringType != null && method.DeclaringType.replacedembly != typeof(Log).replacedembly)
{
var methodName = method.Name;
var clreplacedName = method.DeclaringType.FullName;
var shortClreplacedName = method.DeclaringType.DeclaringType != null
? method.DeclaringType.DeclaringType.Name
: method.DeclaringType.Name;
var caller = $"{clreplacedName}.{methodName}";
logEvent.AddPropertyIfAbsent(new LogEventProperty(CallerPropertyName, new ScalarValue(caller)));
logEvent.AddPropertyIfAbsent(new LogEventProperty(ClreplacedPropertyName, new ScalarValue(shortClreplacedName)));
return;
}
skip++;
}
}
19
View Source File : PageSettings.cs
License : Microsoft Public License
Project Creator : atrenton
License : Microsoft Public License
Project Creator : atrenton
protected bool SetField<T>(ref T field, T value,
[CallerMemberName] string propertyName = "")
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
// Check if object is being deserialized
var callingMethod = new StackTrace().GetFrame(2).GetMethod();
if (callingMethod.Module.Name == "<In Memory Module>")
{
field = value;
return false;
}
DisplayStateChange(field, value, propertyName);
field = value;
return (_modified = true);
}
19
View Source File : DefaultOutputWriter.cs
License : Microsoft Public License
Project Creator : atrenton
License : Microsoft Public License
Project Creator : atrenton
protected internal MethodBase GetDefaultMethodBase()
{
#if DEBUG
return new StackFrame(3, false).GetMethod();
#else
return new StackFrame(2, false).GetMethod();
#endif
}
19
View Source File : TraceOutputWriter.cs
License : Microsoft Public License
Project Creator : atrenton
License : Microsoft Public License
Project Creator : atrenton
protected internal MethodBase GetTraceMethodBase()
{
#if DEBUG
return new StackFrame(4, false).GetMethod();
#else
return new StackFrame(3, false).GetMethod();
#endif
}
19
View Source File : BugReportingContextService.cs
License : Apache License 2.0
Project Creator : AutomateThePlanet
License : Apache License 2.0
Project Creator : AutomateThePlanet
public void AddMethodreplacedtep(params string[] parameters)
{
var stackTrace = new StackTrace();
var methodInfo = stackTrace.GetFrame(1).GetMethod() as MethodInfo;
var description = MethodToSentence(methodInfo.Name);
if (parameters.Any())
{
description += " using data: " + parameters.Stringify();
}
Context.Value.TestSteps.Add(new TestStep(description));
}
19
View Source File : BaseBenchmark.cs
License : Apache License 2.0
Project Creator : AutomateThePlanet
License : Apache License 2.0
Project Creator : AutomateThePlanet
public void CoreIterationSetup()
{
if (_thrownException?.Value != null)
{
_thrownException.Value = null;
}
var stackTrace = new StackTrace();
var benchmarkMethodMemberInfo = stackTrace.GetFrame(1).GetMethod() as MethodInfo;
var benchmarkClreplacedType = benchmarkMethodMemberInfo?.DeclaringType;
var categories = _categories;
var authors = _authors;
var descriptions = _descriptions;
try
{
_currentBenchmarkExecutionProvider.PreTestInit(benchmarkMethodMemberInfo?.Name, benchmarkMethodMemberInfo, benchmarkClreplacedType, new List<object>(), categories, authors, descriptions);
IterationInitialize();
_currentBenchmarkExecutionProvider.PostTestInit(benchmarkMethodMemberInfo?.Name, benchmarkMethodMemberInfo, benchmarkClreplacedType, new List<object>(), categories, authors, descriptions);
}
catch (Exception ex)
{
_currentBenchmarkExecutionProvider.TestInitFailed(ex, benchmarkMethodMemberInfo?.Name, benchmarkMethodMemberInfo, benchmarkClreplacedType, new List<object>(), categories, authors, descriptions);
throw;
}
}
19
View Source File : BaseBenchmark.cs
License : Apache License 2.0
Project Creator : AutomateThePlanet
License : Apache License 2.0
Project Creator : AutomateThePlanet
public void CoreIterationCleanup()
{
var exceptionStackTrace = _thrownException?.Value?.ToString();
var stackTrace = new StackTrace();
var benchmarkMethodMemberInfo = stackTrace.GetFrame(1).GetMethod() as MethodInfo;
var benchmarkClreplacedType = benchmarkMethodMemberInfo?.DeclaringType;
try
{
_currentBenchmarkExecutionProvider.PreTestCleanup(TestOutcome.Preplaceded, benchmarkMethodMemberInfo?.Name, benchmarkMethodMemberInfo, benchmarkClreplacedType, new List<object>(), _categories, _authors, _descriptions, string.Empty, exceptionStackTrace, _thrownException?.Value);
IterationCleanup();
_currentBenchmarkExecutionProvider.PostTestCleanup(TestOutcome.Preplaceded, benchmarkMethodMemberInfo?.Name, benchmarkMethodMemberInfo, benchmarkClreplacedType, new List<object>(), _categories, _authors, _descriptions, string.Empty, exceptionStackTrace, _thrownException?.Value);
}
catch (Exception ex)
{
_currentBenchmarkExecutionProvider.TestCleanupFailed(ex, benchmarkMethodMemberInfo?.Name, benchmarkMethodMemberInfo, benchmarkClreplacedType, new List<object>(), _categories, _authors, _descriptions);
throw;
}
}
19
View Source File : BaseBenchmark.cs
License : Apache License 2.0
Project Creator : AutomateThePlanet
License : Apache License 2.0
Project Creator : AutomateThePlanet
public void CoreExecuteActArrangePhases()
{
try
{
var stackTrace = new StackTrace();
var benchmarkMethodMemberInfo = stackTrace.GetFrame(1).GetMethod() as MethodInfo;
var benchmarkClreplacedType = benchmarkMethodMemberInfo?.DeclaringType;
if (!TypeForAlreadyExecutedBenchmarkInits.Contains(benchmarkClreplacedType?.FullName))
{
TypeForAlreadyExecutedBenchmarkInits.Add(benchmarkClreplacedType?.FullName);
_currentBenchmarkExecutionProvider.PreTestsArrange(benchmarkClreplacedType, new List<object>());
BenchmarkArrange();
_currentBenchmarkExecutionProvider.PostTestsArrange(benchmarkClreplacedType);
_currentBenchmarkExecutionProvider.PreTestsAct(benchmarkClreplacedType, new List<object>());
BenchmarkAct();
_currentBenchmarkExecutionProvider.PostTestsAct(benchmarkClreplacedType, new List<object>());
}
}
catch (Exception ex)
{
_currentBenchmarkExecutionProvider.TestsArrangeFailed(ex);
}
}
19
View Source File : AssemblyFacade.cs
License : Apache License 2.0
Project Creator : AutomateThePlanet
License : Apache License 2.0
Project Creator : AutomateThePlanet
public List<replacedembly> GetreplacedembliesCallChain()
{
var trace = new StackTrace();
var replacedemblies = new List<replacedembly>();
var frames = trace.GetFrames();
if (frames == null)
{
throw new Exception("Couldn't get the stack trace");
}
foreach (var frame in frames)
{
var method = frame.GetMethod();
var declaringType = method.DeclaringType;
if (declaringType == null)
{
continue;
}
var declaringTypereplacedembly = declaringType.replacedembly;
var lastreplacedembly = replacedemblies.LastOrDefault();
if (declaringTypereplacedembly != lastreplacedembly)
{
replacedemblies.Add(declaringTypereplacedembly);
}
}
foreach (var currentreplacedembly in replacedemblies)
{
Debug.WriteLine(currentreplacedembly.ManifestModule.Name);
}
return replacedemblies;
}
19
View Source File : App.cs
License : Apache License 2.0
Project Creator : AutomateThePlanet
License : Apache License 2.0
Project Creator : AutomateThePlanet
private string DetermineTestClreplacedFullNameAttributes()
{
string fullClreplacedName = string.Empty;
var callStackTrace = new StackTrace();
var currentreplacedembly = GetType().replacedembly;
foreach (var frame in callStackTrace.GetFrames())
{
var frameMethodInfo = frame.GetMethod() as MethodInfo;
if (!frameMethodInfo?.ReflectedType?.replacedembly.Equals(currentreplacedembly) == true &&
frameMethodInfo.Name.Equals("TestsArrange") || frameMethodInfo.Name.Equals("ScenarioInitialize"))
{
fullClreplacedName = frameMethodInfo.DeclaringType.FullName;
break;
}
}
return fullClreplacedName;
}
19
View Source File : ComponentsRepository.cs
License : Apache License 2.0
Project Creator : AutomateThePlanet
License : Apache License 2.0
Project Creator : AutomateThePlanet
private void DetermineComponentAttributes(out string elementName, out string pageName)
{
elementName = string.Empty;
pageName = string.Empty;
try
{
var callStackTrace = new StackTrace();
var currentreplacedembly = GetType().replacedembly;
foreach (var frame in callStackTrace.GetFrames())
{
var frameMethodInfo = frame.GetMethod() as MethodInfo;
if (!frameMethodInfo?.ReflectedType?.replacedembly.Equals(currentreplacedembly) == true &&
!frameMethodInfo.IsStatic &&
frameMethodInfo.ReturnType.IsSubclreplacedOf(typeof(Component)))
{
elementName = frame.GetMethod().Name.Replace("get_", string.Empty);
if (frameMethodInfo.ReflectedType.IsSubclreplacedOf(typeof(DesktopPage)))
{
pageName = frameMethodInfo.ReflectedType.Name;
}
break;
}
}
}
catch (Exception e)
{
e.PrintStackTrace();
}
}
19
View Source File : ComponentRepository.cs
License : Apache License 2.0
Project Creator : AutomateThePlanet
License : Apache License 2.0
Project Creator : AutomateThePlanet
private void DetermineComponentAttributes<TDriver, TDriverElement>(out string elementName, out string pageName)
where TDriver : AppiumDriver<TDriverElement>
where TDriverElement : AppiumWebElement
{
elementName = string.Empty;
pageName = string.Empty;
var callStackTrace = new StackTrace();
var currentreplacedembly = GetType().replacedembly;
foreach (var frame in callStackTrace.GetFrames())
{
var frameMethodInfo = frame.GetMethod() as MethodInfo;
if (!frameMethodInfo?.ReflectedType?.replacedembly.Equals(currentreplacedembly) == true &&
!frameMethodInfo.IsStatic &&
frameMethodInfo.ReturnType.IsSubclreplacedOf(typeof(Component<TDriver, TDriverElement>)))
{
elementName = frame.GetMethod().Name.Replace("get_", string.Empty);
if (frameMethodInfo.ReflectedType.IsSubclreplacedOf(typeof(MobilePage)))
{
pageName = frameMethodInfo.ReflectedType.Name;
}
break;
}
}
}
19
View Source File : ComponentRepository.cs
License : Apache License 2.0
Project Creator : AutomateThePlanet
License : Apache License 2.0
Project Creator : AutomateThePlanet
private void DetermineComponentAttributes(out string elementName, out string pageName)
{
elementName = string.Empty;
pageName = string.Empty;
try
{
var callStackTrace = new StackTrace();
var currentreplacedembly = GetType().replacedembly;
foreach (var frame in callStackTrace.GetFrames())
{
var frameMethodInfo = frame.GetMethod() as MethodInfo;
if (!frameMethodInfo?.ReflectedType?.replacedembly.Equals(currentreplacedembly) == true &&
!frameMethodInfo.IsStatic &&
frameMethodInfo.ReturnType.IsSubclreplacedOf(typeof(Component)))
{
elementName = frame.GetMethod().Name.Replace("get_", string.Empty);
if (frameMethodInfo.ReflectedType.IsSubclreplacedOf(typeof(Page)))
{
pageName = frameMethodInfo.ReflectedType.Name;
}
break;
}
}
}
catch (Exception e)
{
e.PrintStackTrace();
}
}
19
View Source File : App.cs
License : Apache License 2.0
Project Creator : AutomateThePlanet
License : Apache License 2.0
Project Creator : AutomateThePlanet
private string DetermineTestClreplacedFullNameAttributes()
{
string fullClreplacedName = string.Empty;
var callStackTrace = new StackTrace();
var currentreplacedembly = GetType().replacedembly;
foreach (var frame in callStackTrace.GetFrames())
{
var frameMethodInfo = frame.GetMethod() as MethodInfo;
if (!frameMethodInfo?.ReflectedType?.replacedembly.Equals(currentreplacedembly) == true &&
(frameMethodInfo.Name.Equals("TestsArrange") || frameMethodInfo.Name.Equals("ScenarioInitialize")))
{
fullClreplacedName = frameMethodInfo.DeclaringType.FullName;
break;
}
}
return fullClreplacedName;
}
19
View Source File : DynamicTestCasesService.cs
License : Apache License 2.0
Project Creator : AutomateThePlanet
License : Apache License 2.0
Project Creator : AutomateThePlanet
public void AddMethodreplacedtep(params string[] parameters)
{
var stackTrace = new StackTrace();
var methodInfo = stackTrace.GetFrame(1).GetMethod() as MethodInfo;
string description = MethodToSentence(methodInfo.Name);
if (parameters.Any())
{
description += " using data: " + parameters.Stringify();
}
Context.Value.TestSteps.Add(new TestStep(description));
}
See More Examples