gpt4 book ai didi

c# - 有没有办法在 C# 中将 "type"变长?

转载 作者:行者123 更新时间:2023-11-30 21:32:10 25 4
gpt4 key购买 nike

我在我的表中使用 long 作为主键。对于每个具有 DataObject.Select(long primarykey) 的表,我都有一个数据对象。

如果我可以键入那么长的内容,这样我就不会将表 1 的 PK 传递到表 2 的 Select() 中,那就太好了。这将消除传入错误外键的常见错误。

我猜除了把 long 包装在类里面之外别无他法,但我想问问也没什么坏处。有没有办法做到这一点,在运行时它仍然传递一个 long(基本类型)但在编译时它会标记不匹配?

public class Subscription {
public long SubscriptionId { get; }
public long OrganizationId { get; }

public static Subscription Select (long subscriptionId) {}
}

public class Organization {
public long OrganizationId { get; }
public static Organization Select (long organizationId) {}
}

在上面任何long都可以传入。但是如果我调用:

Organization org = Organization.Select(subscription.SubscriptionId);

编译并运行。但这是错误的。我宁愿得到一个编译错误,因为正确的调用是:

Organization org = Organization.Select(subscription.OrganizationId)

最佳答案

我建议,您创建两个结构,每个结构都有一个 public long 字段,然后您应该定义您的方法以使用这两个不同的结构作为参数。然后如果你弄错了,编译器会告诉你。

关于c# - 有没有办法在 C# 中将 "type"变长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52458999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com