Как создать функцию внутри другой функции в C #, это возможно?

Вы можете доверять определенному сертификату во время выполнения. Просто загрузите его с сервера, введите активы и загрузите, как это, используя ssl-utils-android :

OkHttpClient client = new OkHttpClient();
SSLContext sslContext = SslUtils.getSslContextForCertificateFile(context, "BPClass2RootCA-sha2.cer");
client.setSslSocketFactory(sslContext.getSocketFactory());

В приведенном выше примере я использовал OkHttpClient, но SSLContext может использоваться с любым клиентом на Java.

Если у вас есть какие-либо вопросы, не стесняйтесь спрашивать. Я автор этой небольшой библиотеки.

13
задан Lee Taylor 20 February 2014 в 03:01
поделиться

2 ответа

Это намного безусловно возможно.

Вы можете создавать делегаты, которые являются функциями, внутри других методов. Это работает в C # 2.0:

public void OuterMethod() {
    someControl.SomeEvent += delegate(int p1, string p2) {
        // this code is inside an anonymous delegate
    }
}

и это работает в более новых версиях с лямбдасом:

public void OuterMethod() {
    Func<int, string, string> myFunc = (int p1, string p2) => p2.Substring(p1)
}
17
ответ дан 1 December 2019 в 19:40
поделиться

Ответ Эйлона технически правильный в том, что вы можете использовать делегаты для эффективного создания метода в способе. Вопрос, который я спросил, это почему вам нужно вообще создавать функцию в сети?

Это немного кода, запах меня. Да, внутренний метод многоразован для остальной части вашего метода, но он говорит о том, что есть элемент кода, в котором дизайн не был подумал. Скорее всего, если вам нужно использовать делегат таким образом, вы, вероятно, будете делать что-то довольно маленькое и повторяющиеся, что было бы лучше служить функцией в классе или даже в утилите. Если вы используете .NET 3.5, то определение расширений также может быть полезной альтернативой в зависимости от полезности делегированного кода.

Было бы легче ответить на этот вопрос лучше, если бы вы могли понять, почему вы чувствуете необходимость написать свой код таким образом.

-2
ответ дан 1 December 2019 в 19:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: