小编lga*_*aud的帖子

是否存在在控制基类时应使用new而不是override的情况?

我在"新"有意义时遇到的示例涉及维护情况,其中子类继承自库中的基类,并且该库的新版本添加了一个与已经存在的方法同名的方法.在子类中实现.(参见:脆基类)

我想知道的是,是否存在使用"新"是一个很好的设计选择(而不是维护中可能需要的东西)的情况.使用override无法完成的一件事是更改方法/属性的返回类型,同时保持名称相同,但我怀疑它是否是一个好的设计选择.

public class FruitBasket {
    public int Weight { get; set;}
    public List<Fruit> Fruits {get; set;}
}

public class AppleBasket : FruitBasket {
    public new List<Apple> Fruits  {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

c# polymorphism inheritance

5
推荐指数
1
解决办法
136
查看次数

读取文本文件C#

private void button1_Click(object sender, EventArgs e)
    {
        string fileLoc = @"c:\wms.txt";

        if (File.Exists(fileLoc))
        {
            using (TextReader tr = new StreamReader(fileLoc))
            {
                MessageBox.Show(tr.ReadLine());
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

这在我创建Windows应用程序时非常有效.

当我在设备应用程序中使用相同的代码时 - Windows CE我收到错误:

在此输入图像描述

使用:.Net 2.0,visual Studio 2005

c# streamreader windows-ce .net-2.0 textreader

2
推荐指数
1
解决办法
3061
查看次数

如何将声明添加到自定义用户服务的 GetProfileDataAsync 和 IsActiveAsync 的上下文?

我正在实现一项用户服务,该服务将用户信息存储在 Azure 表存储中。我想使用租户 ID 的值作为分区键的一部分,但是 GetProfileDataAsync 和 IsActiveAsync 中可用的声明只有 5 个内置声明(sub、name、amr、idp、auth_time)。

我从身份提供商处获取租户 ID,并将其作为声明包含在我的访问令牌和身份令牌中。我怎样才能使其可供这些方法使用?

identityserver3

2
推荐指数
1
解决办法
1482
查看次数