بازنویسی کردن متد
Task<IdentityResult> CreateAsync(User user, string password)
بیمورد بوده؛ چون این متد در پشت صحنه، متد CreateAsync(User user) را فراخوانی میکند.
بازنویسی کردن متد
Task<IdentityResult> CreateAsync(User user, string password)
بیمورد بوده؛ چون این متد در پشت صحنه، متد CreateAsync(User user) را فراخوانی میکند.
<ul class="list-group"> <li class="list-group-item">Item 1</li> <li class="list-group-item">Item 2</li> <li class="list-group-item">Item 3</li> </ul>
{ "version": "1.0.0-*", "dependencies": { "NETStandard.Library": "1.6.0", "Microsoft.AspNetCore.Http.Extensions": "1.0.0", "Microsoft.AspNetCore.Mvc.Abstractions": "1.0.1", "Microsoft.AspNetCore.Mvc.Core": "1.0.1", "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.1", "Microsoft.AspNetCore.Razor.Runtime": "1.0.0" }, "frameworks": { "netstandard1.6": { "imports": "dnxcore50" } } }
namespace Core1RtmEmptyTest.TagHelpers { [HtmlTargetElement("list-group")] public class ListGroupTagHelper : TagHelper { [HtmlAttributeName("asp-items")] public List<string> Items { get; set; } public override void Process(TagHelperContext context, TagHelperOutput output) { } } }
<list-group></list-group>
<list-group asp-items="Model.Items"></list-group>
using System; using System.Collections.Generic; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Mvc.ViewFeatures; using Microsoft.AspNetCore.Razor.TagHelpers; namespace Core1RtmEmptyTest.TagHelpers { [HtmlTargetElement("list-group")] public class ListGroupTagHelper : TagHelper { [HtmlAttributeName("asp-items")] public List<string> Items { get; set; } protected HttpRequest Request => ViewContext.HttpContext.Request; [ViewContext, HtmlAttributeNotBound] public ViewContext ViewContext { get; set; } public override void Process(TagHelperContext context, TagHelperOutput output) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (output == null) { throw new ArgumentNullException(nameof(output)); } if (Items == null) { throw new InvalidOperationException($"{nameof(Items)} must be provided"); } output.TagName = "ul"; output.TagMode = TagMode.StartTagAndEndTag; output.Attributes.Add("class", "list-group"); foreach (var item in Items) { TagBuilder itemBuilder = new TagBuilder("li"); itemBuilder.AddCssClass("list-group-item"); itemBuilder.InnerHtml.Append(item); output.Content.AppendHtml(itemBuilder); } } } }
@addTagHelper *,Core1RtmEmptyTest.TagHelpers
@for( int c = 0; c < 10; c++ ) { <li> <a href="#" @onclick="@(_=> OnLinkClicked(c))">@c</a> </li> }
@for( int c = 0; c < 10; c++ ) { var current = c; <li> <a href="#" @onclick="@(_=> OnLinkClicked(current))">@current</a> </li> }
@foreach(var c in Enumerable.Range(0,10)) { <li> <a href="#" @onclick="@(_=> OnLinkClicked(c))">@c</a> </li> }
public class MySettings { public string StringSetting { get; set; } public int IntSetting { get; set; }
public List<string> ListValues { get; } = new List<string>();
public ISet<string> Values { get; set; }
public ISet<string> Values { get; } = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
var query = pro.types.Select(ty => new { typID = ty.type_id, typ_nam = ty.type_nam, cat_names = ty.categories.Select(cat => new { catgID = cat.cat_id, catg_name = cat.cat_nam, items = pro.items.Select(itm => new { item_ID = itm.item_id, item_nam = itm.item_nam, item_path = itm.url, coments = pro.comments.Select(cmm => new { comm_title = cmm.comment_nam, comm_mail = cmm.mail, comm_text = cmm.text, }) }) }) }).ToList(); bool l = myfunc(query); protected bool myfunc(object q) { var cquery = CreateGenericListFromAnonymous(q, new { typID = 0, typ_nam = string.Empty, cat_names = CreateEmptyAnonymousIEnumerable(new { catgID = 0, catg_name = string.Empty, items = CreateEmptyAnonymousIEnumerable(new { item_ID = 0, item_name = string.Empty, item_path = string.Empty, coments = CreateEmptyAnonymousIEnumerable(new { comm_title = string.Empty, comm_mail = string.Empty, comm_text = string.Empty, }) }) }) }); foreach (var item in cquery) { int ID = item.typID; string type_title = item.typ_nam; foreach (var Cname in item.cat_names) { int categoryID = Cname.catgID; string category_name = string.Empty; foreach (var Iname in Cname.items) { int ItmID = Iname.item_ID; string ItmName = Iname.item_name; string ItmPath = Iname.item_path; foreach (var cm in Iname.coments) { string com_title = cm.comm_title; string com_mail = cm.comm_mail; string com_text = cm.comm_text; } } } } return true; }
using System;
using System.Collections.Generic;
using Google.GData.Client;
namespace BloggerAutoPoster
{
public class BloggerAutoPoster
{
public string UserName { set; get; }
public string Password { set; get; }
public string PostTitle { set; get; }
public IList<string> PostTags { set; get; }
public string PostBody { set; get; }
public string BlogUrl { set; get; }
public bool PostAsDraft { set; get; }
public bool PostNewEntry()
{
var service = new Service("blogger", "blogger-example")
{
Credentials = new GDataCredentials(UserName, Password)
};
var newPost = constructNewEntry();
var result = service.Insert(new Uri(BlogUrl), newPost);
return result != null;
}
private AtomEntry constructNewEntry()
{
var newPost = new AtomEntry
{
Title = { Text = PostTitle },
Content = new AtomContent
{
Content = string.Format(@"<div xmlns=""http://www.w3.org/1999/xhtml"">{0}</div>", PostBody),
Type = "xhtml"
},
IsDraft = PostAsDraft
};
foreach (var tag in PostTags)
{
newPost.Categories.Add(
new AtomCategory
{
Term = tag,
Scheme = "http://www.blogger.com/atom/ns#"
});
}
return newPost;
}
}
}
new BloggerAutoPoster
{
BlogUrl = "https://www.blogger.com/feeds/number/posts/default",
UserName = "name@gmail.com",
Password = "pass",
PostTitle = "بررسی ارسل خودکار-3",
PostTags = new List<string> { "بررسی ارسال خودکار" },
PostBody = "تست میشود123",
PostAsDraft = false
}.PostNewEntry();
using System;
using System.Collections.Generic;
using System.Linq;
using Google.GData.Client;
namespace BloggerAutoPoster
{
public class BlogInfo
{
public string Title { set; get; }
public string Url { set; get; }
}
public class BloggerInfo
{
public static IList<BlogInfo> FindMyBlogsUrls(string username, string password)
{
var result = new List<BlogInfo>();
var service = new Service("blogger", "blogger-example")
{
Credentials = new GDataCredentials(username, password)
};
var query = new FeedQuery { Uri = new Uri("https://www.blogger.com/feeds/default/blogs") };
var feed = service.Query(query);
if (feed == null)
throw new NotSupportedException("You don't have any blogs!");
foreach (var entry in feed.Entries)
{
result.AddRange(entry.Links.Where(t => t.Rel.Equals("http://schemas.google.com/g/2005#post"))
.Select(t => new BlogInfo
{
Url = new Uri(t.HRef.ToString()).AbsoluteUri,
Title = entry.Title.Text
}));
}
return result;
}
}
}
public class Startup { public void ConfigureServices(IServiceCollection services) { } public void Configure(IApplicationBuilder app, IAmACustomService customService) { // .... } }
public class TestMiddleware { public TestMiddleware(RequestDelegate next, IAmACustomService service) { // ... } public async Task Invoke(HttpContext context, IAmACustomService service) { // ... } }
public static IWebHostBuilder CreateDefaultBuilder(string[] args) { var builder = new WebHostBuilder() //... .UseDefaultServiceProvider((context, options) => { options.ValidateScopes = context.HostingEnvironment.IsDevelopment(); }) //...
public class HelloController : Controller { private readonly IAmACustomService _customService; public HelloController(IAmACustomService customService) { _customService = customService; } public IActionResult Get() { // ... } }
[HttpGet("[action]")] public IActionResult Index([FromServices] IAmACustomService service) { // ... }
public IActionResult Index(TestModel model) { // ... }
public class TestModel { public string Name { get; set; } [FromServices] public IAmACustomService CustomService { get; set; } }
@inject IAmACustomService CustomService
public class ApiExceptionFilter : ExceptionFilterAttribute { private ILogger<ApiExceptionFilter> _logger; private IHostingEnvironment _environment; private IConfiguration _configuration; public ApiExceptionFilter(IHostingEnvironment environment, IConfiguration configuration, ILogger<ApiExceptionFilter> logger) { _environment = environment; _configuration = configuration; _logger = logger; }
[Route("api/[controller]")] [ApiController] [ServiceFilter(typeof(ApiExceptionFilter))] public class ValuesController : ControllerBase {
var update = Builders<Book>.Update.Set("LastStock", new DateTime().AddDays((-5))); var filter = Builders<Book>.Filter.Lte("LastStock", new DateTime().AddDays(-10)); collection.UpdateManyAsync(filter, update);
var update = Builders<Book>.Update.Inc("Price", -30000); var filter = Builders<Book>.Filter.Gt("Price", 200000); collection.UpdateMany(filter, update);
var filter = Builders<Book>.Filter.Eq("Language.Name", "English"); collection.DeleteMany(filter);
Language.Name
var client = new MongoClient(); var db = client.GetDatabase("publisher"); db.DropCollection("books");
var client = new MongoClient(); client.DropDatabase("publisher");
var index = Builders<Book>.IndexKeys.Ascending("Year"); collection.Indexes.CreateOneAsync(index);
var index = Builders<Book>.IndexKeys.Ascending("Year").Descending("LastStock"); collection.Indexes.CreateOneAsync(index);
var index2 = Builders<Book>.IndexKeys.Geo2D("Location"); var index3 = Builders<Book>.IndexKeys.Geo2DSphere("Location"); var index4 = Builders<Book>.IndexKeys.GeoHaystack("Location");
var index5 = Builders<Book>.IndexKeys.Text("Content");
angular.module('app').controller('SomeLazyController', function($scope) { $scope.key = '...'; });
Error: Argument ‘SomeLazyController’ is not a function, got undefined
// Registering a controller after app bootstrap $controllerProvider.register('SomeLazyController', function($scope) { $scope.key = '...'; }); // Registering a directive after app bootstrap $compileProvider.directive('SomeLazyDirective', function() { return { restrict: 'A', templateUrl: 'templates/some-lazy-directive.html' } }) // etc
(function () { app = angular.module("app", []); app.config([ '$controllerProvider', '$compileProvider', '$filterProvider', '$provide', function ($controllerProvider, $compileProvider, $filterProvider, $provide) { //برای رجیستر کردن غیر همروند اجزای انگیولاری در آینده app.lazy = { controller: $controllerProvider.register, directive: $compileProvider.directive, filter: $filterProvider.register, factory: $provide.factory, service: $provide.service }; }]); })();
angular.module('app').lazy.controller('SomeLazyController', function($scope) { $scope.key = '...'; });
$stateProvider .state('state1', { url: '/state1', template: '<div>{{st1Ctrl.msg}}</div>', controller: 'state1Controller as st1Ctrl', resolve: { fileDeps: ['$q', '$rootScope', function ($q, $rootScope) { var deferred = $q.defer(); var deps = [ 'app/messageService.js', 'app/state1Controller.js']; $script(deps, function () { $rootScope.$apply(function () { deferred.resolve(); }); }); return deferred.promise; }] } }) .state('state2', { url: '/state2', template: '<div>{{st2Ctrl.msg}}</div>', controller: 'state2Controller as st2Ctrl', resolve: { fileDeps: ['$q', '$rootScope', function ($q, $rootScope) { var deferred = $q.defer(); var deps = [ 'app/messageService.js', 'app/state2Controller.js']; $script(deps, function () { $rootScope.$apply(function () { deferred.resolve(); }); }); return deferred.promise; }] } }); }]);
<script type="text/javascript"> // ----Script.js---- !function (a, b, c) { function t(a, c) { var e = b.createElement("script"), f = j; e.onload = e.onerror = e[o] = function () { e[m] && !/^c|loade/.test(e[m]) || f || (e.onload = e[o] = null, f = 1, c()) }, e.async = 1, e.src = a, d.insertBefore(e, d.firstChild) } function q(a, b) { p(a, function (a) { return !b(a) }) } var d = b.getElementsByTagName("head")[0], e = {}, f = {}, g = {}, h = {}, i = "string", j = !1, k = "push", l = "DOMContentLoaded", m = "readyState", n = "addEventListener", o = "onreadystatechange", p = function (a, b) { for (var c = 0, d = a.length; c < d; ++c) if (!b(a[c])) return j; return 1 }; !b[m] && b[n] && (b[n](l, function r() { b.removeEventListener(l, r, j), b[m] = "complete" }, j), b[m] = "loading"); var s = function (a, b, d) { function o() { if (!--m) { e[l] = 1, j && j(); for (var a in g) p(a.split("|"), n) && !q(g[a], n) && (g[a] = []) } } function n(a) { return a.call ? a() : e[a] } a = a[k] ? a : [a]; var i = b && b.call, j = i ? b : d, l = i ? a.join("") : b, m = a.length; c(function () { q(a, function (a) { h[a] ? (l && (f[l] = 1), o()) : (h[a] = 1, l && (f[l] = 1), t(s.path ? s.path + a + ".js" : a, o)) }) }, 0); return s }; s.get = t, s.ready = function (a, b, c) { a = a[k] ? a : [a]; var d = []; !q(a, function (a) { e[a] || d[k](a) }) && p(a, function (a) { return e[a] }) ? b() : !function (a) { g[a] = g[a] || [], g[a][k](b), c && c(d) }(a.join("|")); return s }; var u = a.$script; s.noConflict = function () { a.$script = u; return this }, typeof module != "undefined" && module.exports ? module.exports = s : a.$script = s }(this, document, setTimeout) $script('Scripts/angular.js', function () { $script('Scripts/angular-ui-router.js', function () { $script('app/app.js', function () { angular.bootstrap(document, ['app']); }); }); }); </script>
using System.Collections.Generic;
using System.Linq;
namespace CircularDependencies
{
public enum AggregateFunc
{
Sum,
Avg
}
public class AggregateFuncCalculator
{
public decimal Calculate(IList<decimal> list, AggregateFunc func)
{
switch (func)
{
case AggregateFunc.Sum:
return getSum(list);
case AggregateFunc.Avg:
return getAvg(list);
default:
return 0m;
}
}
private decimal getAvg(IList<decimal> list)
{
if (list == null || !list.Any()) return 0;
return list.Sum() / list.Count;
}
private decimal getSum(IList<decimal> list)
{
if (list == null || !list.Any()) return 0;
return list.Sum();
}
}
}
public interface IAggregateFunc
{
decimal Calculate(IList<decimal> list);
}
public class Sum : IAggregateFunc
{
public decimal Calculate(IList<decimal> list)
{
if (list == null || !list.Any()) return 0;
return list.Sum();
}
}
public class Avg : IAggregateFunc
{
public decimal Calculate(IList<decimal> list)
{
if (list == null || !list.Any()) return 0;
return list.Sum() / list.Count;
}
}
public class AggregateFuncCalculator
{
public decimal Calculate(IList<decimal> list, IAggregateFunc func)
{
return func.Calculate(list);
}
}