从var创建一个全局变量

时间:2015-03-21 19:15:38

标签: c#

我用C#方法:

 var followers = user.GetFollowers(250);
 var friends = user.GetFriends(250);
 var favorites = user.GetFavorites(40);

如何在Windows窗体应用程序中使其他方法可以访问这些变量?

我试过了:

 private string followers = user.GetFollowers(250);
 private string friends = user.GetFriends(250);
 private string favorites = user.GetFavorites(40);

private followers = user.GetFollowers(250);
private friends = user.GetFriends(250);
private favorites = user.GetFavorites(40);

我已尝试将上述示例放在我的代码顶部,但这不起作用。我能做错什么?我是编程新手。

1 个答案:

答案 0 :(得分:1)

这完全取决于user.GetFollowers(int i)的返回类型。 在user定义的上下文中?

你似乎对C#的基础知识有点困惑。 private只是指定您无法在班级上下文之外访问您的成员。它不是数据类型。 有关访问修饰符的更多信息,请参阅此问题,因为它们被称为
What is the difference between Public, Private, Protected, and Nothing?

关键字var只是compliler-magic,不能用于属性或类的其他成员。

要实现类的成员(无论是字段,属性还是方法),您必须知道返回类型。

在你的情况下;获取它的最简单方法就是查看user.GetFollowers(int i)返回的内容,最简单的方法是通过将光标放在上面然后按 F12 视觉工作室的关键。

您已使用标记了您的问题,因此我将假设这与Twitter有关。

对于此示例,我只会调用未知类型FriendCollectionFollowerCollectionFavoriteCollection。自" GetFriends"似乎暗示它将返回某种集合。

public class TwitterUserInfo
{
    public FriendCollection Friends { get; get; }
    public FollowerCollection Followers { get; set; }
    public FavoriteCollection Favorites { get; set; }

    public TwitterUserInfo(TwitterUser user)
    {
        Friends = user.GetFriends(20);
        Followers = user.GetFollowers(20);
        Favorites = user.GetFavorites(20);
    }
}

然后您可以这样使用它:

TwitterUserInfo userInfo = new TwitterUserInfo(someTwitterUser);

" userInfo"然后将包含您想要的属性。例如userInfo.Friends将包含朋友。

由于您没有提供有关正在发生的事情的大量信息,我无法提供更详细的答案。

编辑:清除了一些内容