我需要列出文件中找到的所有扩展方法.
这是我到目前为止所做的(看起来它正在工作):
var methods = nodes.OfType<MethodDeclarationSyntax>();
var extensionMethods = methods.Where(m =>
m.Modifiers.Any(t => t.Kind == SyntaxKind.StaticKeyword)
&& m.ParameterList.Parameters.Any(p =>
p.Modifiers.Any(pm => pm.Kind == SyntaxKind.ThisKeyword)));
Run Code Online (Sandbox Code Playgroud)
即使我无法测试所有情况,但看起来这样做有效.但我想知道是否有更简洁的方法来解决这个问题.
是否有某种IsExtension或一些SyntaxKind.ExtensionMethod?我看了看,但至少找不到任何明显的东西.
我正在使用最新的Roslyn Sept/12
我无法找到如何使用angular2表单检索用户修改的所有字段.我在这里和angular2官方表单文档做了一些研究,我找不到这样的信息.
这就是我使用jQuery的方式:
this.isFormDirty = function (form) {
var changeNames = [];
$(form).find(":input:not(:button):not([type=hidden])").each(function () {
if ((this.type == "text" || this.type == "textarea" || this.type == "number" || this.type == "hidden" || this.type == "file") && this.defaultValue != this.value) {
changeNames.push(this.name);
} else {
if ((this.type == "radio" || this.type == "checkbox") && this.defaultChecked != this.checked) {
changeNames.push(this.name);
} else {
if ((this.type == "select-one" || this.type == "select-multiple")) {
for (var x = 0; x < this.length; x++) {
if …Run Code Online (Sandbox Code Playgroud) 我创建了一个角度库:@my_library/sdk并且还创建了一个示例项目对其进行测试。问题是,在我的示例项目上安装库时,angle的构建抱怨找不到模块:
./src/app/app.module.ts中的错误找不到模块:错误:无法解析'/ Users / eestein / Documents / dev / my_library / sdk-front / samples / src /中的'@ my_library / sdk' ./src/app/app.component.ts中的“ app”错误找不到模块:错误:无法在“ / Users / eestein / Documents / dev / my_library / sdk-front / samples /”中解析“ @ my_library / sdk” src / app'
如果我在VSCode中打开两个有问题的文件(app.component.ts和app.module.ts),则不会显示错误。看起来VSCode可以找到它,但是Angular CLI找不到。该软件包也位于node_modules的文件夹中。
这是我package.json的示例项目中的内容:
"@my_library/sdk": "file:///Users/eestein/Documents/dev/my_library/sdk-front/library/my_library-sdk-1.0.0-alpha.2.tgz"
Run Code Online (Sandbox Code Playgroud)
这是我的文件夹结构:
- library
- library's code
- *.tgz file
- samples
- samples' code
- package.json referencing the tgz file
Run Code Online (Sandbox Code Playgroud)
我已经在angular的cli GitHub页面上打开了一个问题,但是已经8天了,没有回复,所以我现在就尝试... …
我一直在使用EF一段时间,总是采用Model-First方法.现在我正在通过Code-First土地冒险.问题是:我一直遇到自动创建表的问题.
根据一些网站,这是可能的.我尝试过他们的方法但没有成功.
这是我尝试过的一件事: Database.CreateIfNotExists()
没运气...
我的连接字符串是完美和有效的.如果我手动添加表,它确实有效.问题是当我没有创建表时.它只是没有像我说的那样创造.
我的课程装饰得很好.(再次:当我创建了DB时它正在工作)
有什么建议?这个功能真的有效吗?
我正在使用:
Visual Studio 2010 Professional
EntityFramework 4.3.1(虽然我也试过4.1)
SQL Server 2008 R2
提前致谢.
c# code-first entity-framework-4 ef-code-first ef-migrations
我的设计师创建了一个背景图像来设置输入的样式,如下所示:

我怎么能在Xamarin.Forms中实现这一点?我猜测的简单部分是移除边框,但我还需要将其放置在该图像的顶部(我假设使用RelativeLayout?)并且最难(在我的观点中)将其适当的大小设置为"填充" "图像的剩余部分.我正在使用XAML,但如果你在C#中知道我可以推断出来,没问题.有任何想法吗?
编辑:这是我到目前为止设法做的:

代码:
<RelativeLayout>
<Image Source="input_selected.png"></Image>
<StackLayout Orientation="Horizontal" HorizontalOptions="CenterAndExpand">
<Image Source="ico_password.png" Scale="0.7"></Image>
<Entry x:Name="PasswordT" Placeholder="Senha" IsPassword="True" HorizontalOptions="CenterAndExpand" Text=""></Entry>
</StackLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
EDIT2:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="LoginPage"
Style="{StaticResource LoginBackground}">
<ScrollView>
<RelativeLayout x:Name="RelativeLayoutLogin">
<StackLayout x:Name="BackgroundLayout" Spacing="15" HorizontalOptions="Center" VerticalOptions="Start">
<StackLayout.Padding>
<OnPlatform x:TypeArguments="Thickness" iOS="15, 38, 15, 15" Android="15, 18, 15, 15" WinPhone="15, 18, 15, 15" />
</StackLayout.Padding>
<StackLayout.Children>
<Image Source="logo.png" Aspect="AspectFit" HeightRequest="75"></Image>
<Image x:Name="BackgroundBox" Source="box_completo.png" Aspect="AspectFill"></Image>
</StackLayout.Children>
</StackLayout>
<StackLayout RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToView, ElementName=BackgroundLayout, Property=Y, Constant=111}"
RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToView, ElementName=BackgroundLayout, Property=Width, Factor=1}"> …Run Code Online (Sandbox Code Playgroud) 我正在尝试在线查找有关如何使用webpack应用程序将angular2部署到Azure的信息,但我找不到足够有用的信息。我按照此处的建议检查了启动包。如何部署Angular 2应用程序?但是我在那里也找不到很多帮助。
所以,我有一个本地运行webpack的angular2应用程序。它在本地运行良好。但是,如何将其部署到Azure Web Apps?
感谢您的帮助:)
谢谢!
我想知道如何更改导航栏标题的颜色.这是应该在swift中完成的:
UINavigationBar.appearance().titleTextAttributes =
[NSForegroundColorAttributeName : UIColor.white]
Run Code Online (Sandbox Code Playgroud)
如何使用Xamarin.iOS复制该行为?
我尝试使用这里的答案在Xamarin Mac中使用什么AttributeName但我无法使它工作,因为它无法转换NSMutableAttributedString为UIStringAttributes.
谢谢.
我创建了一个样式并将其应用于按钮,但是当我尝试构建时,我得到了异常:
No resource identifier found for attribute ‘style’ in package ‘android’
这是按钮的代码:
<Button
android:text="Settings"
android:style="@style/SecondaryButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/settingsButton"
android:layout_weight="0" />
Run Code Online (Sandbox Code Playgroud)
可能有什么不对?
我有以下场景:
updates branch develop -> triggers DEV-CI -> triggers Release X
updates branch master -> triggers QA-CI -> triggers Release X
updates branch release -> triggers Prod-CI -> triggers Release X
Run Code Online (Sandbox Code Playgroud)
在“Release X”中,我添加了所有 3 个工件(dev、qa 和 prod)和 3 个独立的阶段(dev、qa 和 prod)。我的目标是,如果分支开发更新,则发布到 DEV,如果主分支更新,则发布到 QA,依此类推,但发布管道不会启动,因为它需要所有 3 个工件都可用。
仅当我只有一对一时它才有效,如下所示:
如果我添加其他工件,即使在每个特定工件的预部署条件中添加工件过滤器之后,发布也不会开始,直到所有 3 个工件都可用。
是否可以做我在这里尝试的事情,或者我必须为每个 CI 创建一个版本?
谢谢!
编辑
听完李老师的回答,我又试了一次,还是不行。即使只运行了 QA CI,这两个环境都会被触发。
这里 QA 版本正在下载两个工件,即使有一个特定的工件过滤器:
这是生成该结果的设置:
continuous-delivery azure-devops azure-pipelines azure-pipelines-release-pipeline
目前我有这个要求:
await url
.SetQueryParams(queryString)
.SetClaimsToken()
.GetJsonAsync<T>()
Run Code Online (Sandbox Code Playgroud)
我现在想开始使用Polly(https://github.com/App-vNext/Polly)来处理重试并提供更好的用户体验.例如,由于网络连接不良,第一次尝试时不会"挂断"用户.这是我尝试使用的示例:
int[] httpStatusCodesWorthRetrying = { 408, 500, 502, 503, 504 };
Policy
.Handle<HttpException>()
.OrResult<HttpResponse>(r => httpStatusCodesWorthRetrying.Contains(r.StatusCode))
.WaitAndRetryAsync(new[] {
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(2),
TimeSpan.FromSeconds(3)
})
.ExecuteAsync( await url... )
Run Code Online (Sandbox Code Playgroud)
但它需要HttpResponse是返回类型.正如你从我的Flurl例子中看到的那样,它正在返回T,即使它是一个HttpResponse.这T只是用于反序列化的类型StringContent.
第一个例子根本不起作用,因为我在PCL中使用它并且我无法获得对它的引用System.Web.所以我尝试了这个:
Policy
.HandleResult(HttpStatusCode.InternalServerError)
.OrResult(HttpStatusCode.BadGateway)
.OrResult(HttpStatusCode.BadRequest)
.WaitAndRetryAsync(new[] {
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(2),
TimeSpan.FromSeconds(3)
})
.ExecuteAsync(async () =>
{
await url...
});
Run Code Online (Sandbox Code Playgroud)
但是这个也不起作用,因为Polly期望HttpStatusCode作为回归类型.所以我的问题是:我如何告诉polly处理那些HttpStatusCode并仍允许我返回类型T?
c# ×4
angular ×3
android ×1
angular-cli ×1
azure ×1
azure-devops ×1
azure-pipelines-release-pipeline ×1
code-first ×1
flurl ×1
httpresponse ×1
polly ×1
roslyn ×1
webpack ×1
xamarin ×1
xamarin.ios ×1
xaml ×1