我有几个C#应用程序进行日志记录,并且Output方法有一个重载来接受消息和StreamWriter,另一个重载有一个params数组的附加参数.方法签名的一个示例是:
private static void Output(string message, StreamWriter writer, params object[] args)
{..}
private static void Output(string message, StreamWriter writer)
{..}
Run Code Online (Sandbox Code Playgroud)
问题涉及Resharper对这些方法给出以下警告:" 带有可选参数的方法被重载隐藏 ".
该警告具有误导性,因为我从3个param重载内部调用2-param重载并且它不会导致递归调用,因此不会隐藏重载.
我对Resharper网站做了一些研究,并且在这个问题上已经打开了一些已经关闭的门票,因为"无法修复".
在我看来,这是一个有效的用例,因为运行时知道调用哪个重载..NET框架中也有一些示例,它们使用这种重载.
例如,StreamWriter.WriteLine()要写入值的重载,以及Format params.
这是一个有效的参数,还是应该将我的方法重命名为类似"OutputFormat"的东西,因为它们在幕后使用string.Format来构建一个带有指定参数的字符串?
我在 Vuetify 中遇到了一些带有断点的意外行为。我希望我的列从中到 xl 并排排列,对于 sm 及以下,我希望每一列占据整行(一个在另一个之上)。我看到的是,从 XL 到 M,列按预期并排显示。一旦视口缩小到很小,它们就会按预期显示在彼此的顶部。但是一旦到了 xs,他们就会回到并排,我不明白。这是代码的缩写版本。如果我有什么问题,请告诉我。我看过几篇文章,我所看到的似乎与提出的解决方案非常一致。
<template>
<div>
<v-container>
<v-row>
<v-col cols="6" sm="12">
<v-card height="100%">
<v-card-title>Classes</v-card-title>
<v-card-text>
<!-- text redacted for brevity -->
</v-card-text>
</v-card>
</v-col>
<v-col cols="6" sm="12">
<v-card height="100%">
<v-card-title>Requirements</v-card-title>
<v-card-text>
<!-- text redacted for brevity -->
</v-card-text>
</v-card>
</v-col>
</v-row>
</v-container>
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
我还尝试了更明确的定义,但无济于事,如下所示:
<v-col med="6" sm="12">
<v-col cols="6" med="6" sm="12">
Run Code Online (Sandbox Code Playgroud)
等等...