[[ $foo ]]
Или
(( ${#foo} ))
Или
let ${#foo}
Или
declare -p foo
Конечно - используйте Type.GetMethods (). Вы захотите указать разные флаги привязки, чтобы получить закрытые методы и т. Д. Это довольно грубая, но работоспособная отправная точка:
using System;
using System.Linq;
class Test
{
static void Main()
{
ShowMethods(typeof(DateTime));
}
static void ShowMethods(Type type)
{
foreach (var method in type.GetMethods())
{
var parameters = method.GetParameters();
var parameterDescriptions = string.Join
(", ", method.GetParameters()
.Select(x => x.ParameterType + " " + x.Name)
.ToArray());
Console.WriteLine("{0} {1} ({2})",
method.ReturnType,
method.Name,
parameterDescriptions);
}
}
}
Вывод:
System.DateTime Add (System.TimeSpan value)
System.DateTime AddDays (System.Double value)
System.DateTime AddHours (System.Double value)
System.DateTime AddMilliseconds (System.Double value)
System.DateTime AddMinutes (System.Double value)
System.DateTime AddMonths (System.Int32 months)
System.DateTime AddSeconds (System.Double value)
System.DateTime AddTicks (System.Int64 value)
System.DateTime AddYears (System.Int32 value)
System.Int32 Compare (System.DateTime t1, System.DateTime t2)
System.Int32 CompareTo (System.Object value)
System.Int32 CompareTo (System.DateTime value)
System.Int32 DaysInMonth (System.Int32 year, System.Int32 month)
(и т. Д.)
Предполагая, что вы используете MySQL - MySQL не имеет встроенных функций, которые могли бы это сделать.
Это означает, что вам придется самостоятельно реализовать полнотекстовый поиск или использовать сторонний инструмент полнотекстового поиска.
Вы можете легко добраться до этих списков с помощью отражения. например, с Type.GetMethods ()