Как мне сделать это туда, где я могу позвонить через DLL? - PullRequest
1 голос
/ 09 сентября 2011

Я создаю библиотеку классов, в которую я могу импортировать DLL в более поздних проектах и ​​просто вызвать нижеприведенное, чтобы отправить DirectMessage пользователю Twitter.Это работает, если я включаю код непосредственно в класс Form1, но я не хочу, чтобы я мог иметь возможность делать что-то вроде в VB:

Dim dm as New SendDM
dm.SendDirectMessage(user, message) 

и все.Есть идеи?Я не очень знаком с C #, поэтому я должен сделать его публичным?Поместите его в свой собственный файл класса, такой как SendDM.cs или как?

        private void SendDM(string user, string message)
    {
        if (message.Length == 0)
        {
            MessageBox.Show("Your tweet must be at least 1 character long!");
            return;
        }

        try
        {
            // URL-encode the tweet...
            string tweet = HttpUtility.UrlEncode(message);

            // And send it off...
            string xml = _oAuth.oAuthWebRequest(
                oAuthTwitter.Method.POST,
                 "http://api.twitter.com/1/direct_messages/new.xml",
                "?user=" + user + "&text=" + message);
        }
        catch (Exception ex)
        {
            MessageBox.Show("An error occurred while posting your tweet:\n\n" + ex.Message);
            return;
        }

       message = String.Empty;
    }

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011

Да, вы можете.Создайте проект «Библиотека классов».Вставьте свой код и скомпилируйте его.

1 голос
/ 09 сентября 2011

из библиотеки классов, вы не должны использовать MessageBoxe для уведомления об исключениях или проверки входных параметров, просто бросьте исключение из перехвата вместо возврата и бросьте ArgumentOutOfRangeException, если входной параметр не проверяется.

Сказав это, у вас должен быть публичный класс SendDM, а внутри него - публичный метод SendDirectMessage, если вы хотите использовать указанный выше VB-код для отправки сообщения.

Кроме того, вам не нужно сбрасывать сообщение на String.Empty в конце метода SendDirectMessage.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...