Как я пишу частные автосвойства набора в VB 10?

Кажется, никто не упомянул об использовании метода nonNull, который также можно использовать с streams в Java 8 для удаления нуля (но не пустого) как:

String[] origArray = {"Apple", "", "Cat", "Dog", "", null};
String[] cleanedArray = Arrays.stream(firstArray).filter(Objects::nonNull).toArray(String[]::new);
System.out.println(Arrays.toString(origArray));
System.out.println(Arrays.toString(cleanedArray));

И вывод:

[Apple, Cat, Dog, NULL]

[Apple, Cat, Dog,]

Если мы хотим включить пустой также, то мы можем определить вспомогательный метод (в классе Utils (скажем)):

public static boolean isEmpty(String string) {
        return (string != null && string.isEmpty());
    }

И затем использовать его для фильтрации элементов следующим образом:

Arrays.stream(firstArray).filter(Utils::isEmpty).toArray(String[]::new);

Я считаю, что Apache common также предоставляет служебный метод StringUtils.isNotEmpty, который также можно использовать.

15
задан MPelletier 10 May 2012 в 16:51
поделиться

3 ответа

Я не думаю, что это возможно (пока).

См. эту ссылку в MSDN.
Вышеупомянутая статья даже ссылается на другую о смешанных уровнях доступа.

Я нашел это в Microsoft Connect, поэтому они думают об этом (если это будет для VS2010, это другое вопрос).

5
ответ дан 1 December 2019 в 03:52
поделиться

Согласно этой статье MSDN , вы не можете:

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

Вы должны использовать расширенный синтаксис определения свойства, если хотите выполнить одно из следующих действий:

[...]

  • Укажите разные возможности доступа для процедура получения и установки. Для например, вы можете захотеть сделать Установить процедуру Private и получить общедоступная процедура.
5
ответ дан 1 December 2019 в 03:52
поделиться

Вот так:

Private Thingy As Integer
Property Thing() As Integer
    Get
        Return Thingy
    End Get
    Private Set(ByVal value As Integer)
        Thingy = value
    End Set
End Property

Свойство Auto в VB10

Property PartNo As Integer = 44302

Но с частным набором все еще нельзя сделать в vb, даже в VB10 см. Здесь:

Из MSDN (как Джон сказал):

Определения свойств, требующие Стандартный синтаксис:

  • Укажите разные возможности доступа для процедура получения и установки. Для например, вы можете захотеть сделать Установить процедуру Private и получить процедура Public.
9
ответ дан 1 December 2019 в 03:52
поделиться
Другие вопросы по тегам:

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