有一个通过 gRPC 通信的微服务,当代码循环时它有一个非常罕见的事件,目前还无法捕获它,但我想处理这种行为 - 我希望代码(流?)在超时时中断并且,为了响应请求,拍摄一些错误。有没有套路?Chet 没能用谷歌搜索——但我之前没有遇到过这样的问题。
主页
/
user-191071
srvr4vr's questions
我处理Mappster
- 有这样的课程:
class In
{
public string A;
public string B;
public string C;
}
class Out
{
public Sub Sub;
public string C;
}
class Sub
{
public string A;
public string B;
public Sub(string a, string b)
=>(A,B) = (a,b);
}
我制定了规则:
var mapper = new Mapper();
mapper.Config
.ForType<In, Out>()
.Map(@out=> @out.Sub, @in => new Sub(@in.A, @in.B));
如果您现在映射一切都很好,但是如果您Sub
向该类添加另一个构造函数(假设public Sub(string a)=> A=a;
)映射将因错误而失败
Error while compiling
source=UserQuery+In
destination=UserQuery+Out
type=Map
Error while compiling
source=UserQuery+Sub
destination=UserQuery+Sub
type=Map
No default constructor for type 'Sub', please use 'ConstructUsing' or 'MapWith'
我阅读了文档,以这种方式进行了尝试,但 'ConstructUsing' 和 'MapWith' - 不起作用(或者,更有可能是我做错了什么)。
前几天我决定转入 F#。在任务的框架内,我们需要一个将数字分解为组成数字的函数。起初,我完成了它ToString
,随后又投入list<char>
了list<int>
——它奏效了,但不知何故,这一切都不是运动的。重制。并且有一种可以改进的感觉。请做一个审查。
let gridWhith = 10
let getBalance value = (value % gridWhith)
let getQuotient value = (value / gridWhith)
let rec getDigitsSeq (value:int) =
let acc = List.empty<int>
let balance = getBalance value
let quitient = getQuotient value
let reversedResult =
if quitient = 0 then value :: acc
else balance :: (getDigitsSeq quitient @ acc)
List.rev reversedResult
我想实现这种行为:
.column-container {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
-webkit-align-content: stretch;
-ms-flex-line-pack: stretch;
align-content: stretch;
-webkit-align-items: stretch;
-ms-flex-align: stretch;
align-items: stretch;
}
.column-container div {
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
-webkit-align-self: auto;
-ms-flex-item-align: auto;
align-self: auto;
}
.row-container .photo {
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
-webkit-flex: 0 1 30%;
-ms-flex: 0 1 30%;
flex: 0 1 30%;
-webkit-align-self: auto;
-ms-flex-item-align: auto;
align-self: auto;
}
.row-container {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
-webkit-align-content: stretch;
-ms-flex-line-pack: stretch;
align-content: stretch;
-webkit-align-items: stretch;
-ms-flex-align: stretch;
align-items: stretch;
}
.row-container div {
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
-webkit-align-self: auto;
-ms-flex-item-align: auto;
align-self: auto;
}
<div class="row-container card">
<div class="column-container photo">
<div><img src="https://opt-281576.ssl.1c-bitrix-cdn.ru/upload/iblock/467/01rudenko-s-vikt.jpg?15197940234729" /></div>
<div>Ссылка<br/>Ссылка<br/>Ссылка</div>
</div>
<div class="column-container">
<div>
<h1>Иванов Иван Иванович</h1>
</div>
<div>Здесь будет всякая информация</div>
</div>
</div>
我辛苦了一整天——结果是一碗难以理解的粥。
我创建了一堆Task
- 在每个游戏循环中,将它们放入List<Task>
:
GamesList.Add(gp.ContinueWith(t=>GamesList.Remove(t)));
但是由于某种原因,它们在游戏周期完成之前就从列表中删除了——游戏仍然运行顺利。什么?
在 WPF 中,我使用了以下代码:
<Button.Style>
<Style TargetType="{interop:TypeName Button}">
<Style.Triggers>
<DataTrigger Value="True" Binding="{Binding CellStatus, Converter={StaticResource CellViewStateConverter}, ConverterParameter={x:Static model1:CellState.NormalCell}}">
<Setter Property="Template" Value="{StaticResource NormalCellTemplate}" />
</DataTrigger>
<DataTrigger Value="True" Binding="{Binding CellStatus, Converter={StaticResource CellViewStateConverter}, ConverterParameter={x:Static model1:CellState.NulledCell}}">
<Setter Property="Template" Value="{StaticResource NulledCellTemplate}" />
</DataTrigger>
<DataTrigger Value="True" Binding="{Binding CellStatus, Converter={StaticResource CellViewStateConverter}, ConverterParameter={x:Static model1:CellState.CurrentCell}}">
<Setter Property="Template" Value="{StaticResource CurrentCellTemplate}" />
</DataTrigger>
<DataTrigger Value="True" Binding="{Binding CellStatus, Converter={StaticResource CellViewStateConverter}, ConverterParameter={x:Static model1:CellState.PossibleCell}}">
<Setter Property="Template" Value="{StaticResource PossibleCellTemplate}" />
</DataTrigger>
<DataTrigger Value="True" Binding="{Binding CellStatus, Converter={StaticResource CellViewStateConverter}, ConverterParameter={x:Static model1:CellState.DeleteCell}}">
<Setter Property="Template" Value="{StaticResource DeleteCellTemplate}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
转移到时,UWP
它变成了南瓜。我在谷歌上搜索了几个拐杖,但不知何故我不喜欢它们,而且总的来说我们与它们没有任何关系。
问题是这样的,有一个抽象模型类继承了一定数量的具体模型,它们除了一些通用的外,都有自己的一堆字段,各有对应View
,问题开始了事实上,每个实例都需要包装在适当的实例中ViewModel
(视图不同,它们的行为也不同) - 现在我有一个单独的函数来执行此操作,switch
其中添加了条件,因为新类是用这样的签名编写的:
public static TaskViewModelBase GetTaskViewModel(TaskBase tsk, IDataTask taskDataService)
如您所知,所有这些废话闻起来很浓。是否有一个优雅的解决方案,或者选择的架构完全没有用?
如何创建同时开发 Android 和 UWP 的应用程序?或者是否需要为两个平台复制代码?毕竟,即使是类库也不同。