Tôi có một lớp kế thừa từ X509Certificate2. Tôi muốn tài sản NotAfter ở UTC thay vì giờ địa phương. Tôi khá mới với C# và đã tự hỏi nếu những gì tôi có dưới đây là cách tốt nhất để làm điều đó?C#: ghi đè thuộc tính của lớp cha
internal class Certificate : X509Certificate2
{
public new DateTime NotAfter
{
get { return base.NotAfter.ToUniversalTime(); }
}
EDIT Khi tôi thay đổi nó như thế này:
public override DateTime NotAfter
{
get { return base.NotAfter.ToUniversalTime(); }
}
Resharper phàn nàn rằng "Không có bất động sản phù hợp cho ghi đè"
Tại sao? Bạn đang cố làm gì vậy? – SLaks
Có vấn đề gì khi thêm thuộc tính 'NotAfterUtc'? – LukeH
Đồng ý với @LukeH - bạn đang cố gắng thay đổi hợp đồng (nghĩa) của một tài sản được định nghĩa trong lớp cơ sở. Đó là gần như không bao giờ là một ý tưởng tốt. Một tài sản riêng biệt có ý nghĩa hơn với tôi. –