我想创建一个带有通用输入并返回通用值的方法的协议.
这是我到目前为止所尝试的,但它会产生语法错误.
使用未声明的标识符T.
我究竟做错了什么?
protocol ApiMapperProtocol {
func MapFromSource(T) -> U
}
class UserMapper: NSObject, ApiMapperProtocol {
func MapFromSource(data: NSDictionary) -> UserModel {
var user = UserModel() as UserModel
var accountsData:NSArray = data["Accounts"] as NSArray
return user
}
}
Run Code Online (Sandbox Code Playgroud) 如果调试窗口打开,即使没有设置断点,调试器也会自动开始按行.
我尝试过使用"停用断点"按钮,如果打开或关闭它没有任何区别.
这发生在任何网站上.
我有以下XML文件,我需要在服务器中转换为JSON.最初我以为我会将它转换为Dictionary然后使用JavaScriptSerializer将其转换为JSON,但由于每列可能有不同的值类型,我认为它不会起作用.有没有人在C#/ LINQ之前做过类似的事情?
我需要保留每列的值类型(布尔值,字符串,整数).
我很感激任何建议,因为我刚刚开始使用XML.谢谢.
<Columns>
<Column Name="key1" DataType="Boolean">True</Column>
<Column Name="key2" DataType="String">Hello World</Column>
<Column Name="key3" DataType="Integer">999</Column>
</Columns>
Run Code Online (Sandbox Code Playgroud) 我想以GBR格式获取今天的日期,但是,
DateTime.Now.ToString("dd/mm/yyyy");
Run Code Online (Sandbox Code Playgroud)
返回值为 08/00/2013
因此00
在月份组中返回而不是返回月份04
.
任何想法为什么会这样?
我试图使用linq过滤一些对象enitites我得到一个错误告诉我"枚举没有产生结果".
在客户端我收到这样的消息:
由于已经处理了DbContext,因此无法完成操作
我知道这些过滤器值应该返回一些结果,但它只是不起作用,所以我猜我的查询是错误的,你能帮忙吗?
var mediaChannels =
NeptuneUnitOfWork.MediaChannels
.FindWhere(m => m.CountryID == CountryID &&
m.SonarMediaTypeID == MediaTypeID &&
m.SonarMediaTypes.SonarMediaGroupID == MediaGroupID &&
m.Name.Contains(search))
.Select(m => new MediaChannelModel() {
ID = m.ID,
Name = m.Name,
MediaType = m.MediaType.Name,
Country = m.Countries.Name,
SubRegion = m.Countries.Lookup_SubRegions.Name,
Region = m.Countries.Lookup_SubRegions.Lookup_Regions.Name
});
Run Code Online (Sandbox Code Playgroud) 我需要获取两个日期之间的所有星期开始和结束日期(星期),然后运行一个查询,返回在每个星期中插入的记录数.
declare @sDate datetime,
@eDate datetime;
select @sDate = '2013-02-25',
@eDate = '2013-03-25';
--query to get all weeks between sDate and eDate
--query to return number of items inserted in each of the weeks returned
WEEK NoOfItems
-----------------------------------------
2013-02-25 5
2013-03-4 2
2013-03-11 7
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个NSMutableDictionary来使用iOS中的密钥链,但是我收到以下错误.
找不到接受提供的参数的'init'的重载
这是我正在使用的代码:
var keychainQuery: NSMutableDictionary = NSMutableDictionary(objects: [kSecClassGenericPassword, service, userAccount, kCFBooleanTrue, kSecMatchLimitOne], forKeys: [kSecClass, kSecAttrService, kSecAttrAccount, kSecReturnData, kSecMatchLimit])
Run Code Online (Sandbox Code Playgroud)
知道是什么原因引起的吗?
完整的代码:
import UIKit
import Security
let serviceIdentifier = "MySerivice"
let userAccount = "authenticatedUser"
let accessGroup = "MySerivice"
class KeychainService: NSObject {
class func saveToken(token: NSString) {
self.save(serviceIdentifier, data: token)
}
class func loadToken() -> NSString? {
var token = self.load(serviceIdentifier)
return token
}
class func save(service: NSString, data: NSString) {
var dataFromString: NSData = data.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
// Instantiate a …
Run Code Online (Sandbox Code Playgroud) 我有一些任务,我将传递给Task.WhenAll调用.在我的测试中,我正在设置抛出异常的第一个任务,但我对所有任务的Tasks.WhenAll调用没有完成,并且在抛出异常时立即中断,我的假设是所有任务都将完成并返回调用Tasks.WhenAll,所以我认为Moq无法区分抛出异步和异步异常.
我希望能够允许所有任务运行,一旦完成所有任务,我想抓住故障任务并提取其异常并采取相应措施.我的实现是否正确,MOQ无法应对或我必须修复我的实现,问题不是模拟?
public async Task StartAsync(TextWriter log)
{
log = TextWriter.Synchronized(log);
var processorTaks = _processors.Select(x => x.StartAsync(log)).ToList();
Task.WhenAll(processorTaks).Wait();
var innerExceptions = processorTaks.Where(x => x.Exception != null)
.Select(x => x.Exception.InnerException)
.ToList();
if (innerExceptions.Any())
{
innerExceptions.AddRange(_processors.SelectMany(x => x.NotifierException).ToList());
var formattedExceptions = innerExceptions
.Select(ex => $"{ex.Message}<\br>{ex.StackTrace}")
.Distinct();
IEnumerable<Task> sendEmailTaks = _alertEmailAddresses
.Split('|')
.Select(
x =>
_smtpClient.SendMailAsync($"Notifications failed with {innerExceptions.Count()} exceptions",
string.Join("<\br>", formattedExceptions), x));
var retry = _createWebRetry();
await retry.RetryAsync(() => Task.WhenAll(sendEmailTaks), CancellationToken.None);
}
}
Run Code Online (Sandbox Code Playgroud)
我对处理器的设置
FirstProcessor.Setup(x => x.StartAsync(It.IsAny<TextWriter>())).Throws(new Exception("some exception happened."));
SecondProcessor.Setup(x => …
Run Code Online (Sandbox Code Playgroud) c# ×3
swift ×2
azure ×1
datetime ×1
javascript ×1
jquery ×1
json ×1
linq ×1
moq ×1
sql-server ×1
t-sql ×1
webdeploy ×1
xml ×1
xml-parsing ×1