Мой аспект:PostSharp - args.ReturnValye = default (T) -> T = метод возврата типа, как?
[Serializable]
class FlowController : OnMethodBoundaryAspect
{
[ThreadStatic]
private static bool logging;
public override void OnEntry(MethodExecutionArgs args)
{
if (logging)
return;
try
{
logging = true;
if (ProgramState.State() == false)
{
args.ReturnValue = ""; // WHAT DO I SET HERE?
args.FlowBehavior = FlowBehavior.Return;
}
}
finally
{
logging = false;
}
}
}
В основном в() метод проверки ProgramState.State, если программа работает (правда), приостановлена (петли, а isPaused == верно), остановился (ложь), то это должно контролировать, если методы могут выполняться или нет (в основном, функция остановки паузы/возобновления)
Но иногда я получаю ненулевые ссылки при возврате из метода.
Мне интересно узнать, как установить тип возвращаемого значения для возвращаемого типа по умолчанию.
Спасибо! но ... Не будет ли возврат по умолчанию (T) нулями? –
Ну, значение по умолчанию (T) является «нулевым» значением для данного типа T, например. null для ссылочных типов, 0 для int и т. д. См. https://msdn.microsoft.com/en-us/library/xwth0h0d.aspx – AlexD