Это сработало для меня:
$response = file_get_contents(as you have it);
$googleobj = json_decode($response, TRUE);
$verified = $googleobj['success'];
if($verified === true) {
...
Параметр true
в json_decode
делает его ассоциативным массивом. Таким образом, вы можете получить к нему доступ, как обычный массив. Взгляните на это для получения дополнительной информации
Попытайтесь использовать это вместо этого.
System.Reflection.MethodBase.GetCurrentMethod().Name
C# не имеет __LINE__
или __FUNCTION__
макросы как C++, но существуют эквиваленты
То, что я в настоящее время использую, является функцией как это:
using System.Diagnostics;
public string __Function() {
StackTrace stackTrace = new StackTrace();
return stackTrace.GetFrame(1).GetMethod().Name;
}
Когда мне нужно __ ФУНКЦИЯ __, я просто звоню __ Функция () вместо этого. Например:
Debug.Assert(false, __Function() + ": Unhandled option");
Конечно, это решение использует отражение также, но это - наилучший вариант, который я могу найти. Так как я только использую его для Отладки (Не прослеживающий в сборках конечных версий), хит производительности не важен.
Я предполагаю то, что я должен сделать, создают функции отладки и отмечают их с
[ Conditional("Debug") ]
вместо этого, но я не имею вокруг к этому.
Благодаря Jeff Mastry для его решения этого.
К сожалению, нет никакой эквивалентной версии того макроса в C#. Я не считаю GetCurrentMethodName () решением эквивалентный C++ __ ФУНКЦИЯ __ макрос. А именно, becase версия C++ является вычислением времени компиляции имени. Для C# это - вычисление во время выполнения и подвергается хиту производительности.
Я не делаю предположений о серьезности стоимости, но существует тот
Следующее должно работать, хотя оно будет оценено во времени выполнения вместо во время компиляции.
System.Reflection.MethodBase.GetCurrentMethod().Name