我的Xamarin iOS项目中有一个PCL.在VS工作,我发现要改变iOS应用程序中反映的PCL,我必须执行以下所有操作:
我可以简化此工作流程吗?我确实有从iOS项目到PCL项目的构建依赖项.但它似乎没有帮助.
我想做这样的事情:
public class MyClass {
public virtual void Foo() {
this.DoSomethingThatWouldBeFineInASubclassButAnOverrideWouldNotWantToUse();
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,我在这里做一些工作,我想要一个默认的方法,但如果有人要覆盖,他们可能不会使用默认.将base.Foo()放入覆盖中而不考虑它是如此容易; 实际上我的IDE会自动完成.我想防止这种情况.可能吗?
ExpandoObject有任何便利工厂方法吗?有点像,我不知道,
dynamic disney = new ExpandoObject("First", "Donald", "Last", "Duck");
Run Code Online (Sandbox Code Playgroud) 我有一个对象的引用.我知道它符合
IDictionary<string, T>
Run Code Online (Sandbox Code Playgroud)
对于某些类型T(它可能不符合普通的IDictionary,或者不符合IReadyOnlyDictionary).我所知道的T就是它从物体上下来.如何获取密钥并获取密钥的值?(我可以将值作为对象返回,而不是作为T.我也很好,从不学习T是什么.)
我想写的,但不能,是这样的:
public void SomeMethod(object reallyADict) { // reallyADict implements IDictionary<string, T>.
foreach (string key in reallyADict.Keys) {
object value = reallyADict[key];
// . . .
}
}
Run Code Online (Sandbox Code Playgroud)
**
根据请求,下面是一个示例类.
using System;
using System.Collections.Generic;
using System.Collections;
namespace My.Collections
{
public class WrappedDictionary: IDictionary<string, int>
{
public WrappedDictionary() {
this.InnerDictionary = new Dictionary<string, int>{ {"one", 1}, {"two", 2 }};
}
private Dictionary<string, int> InnerDictionary { get; set;}
private ICollection<KeyValuePair<string, int>> InnerCollection {
get {
return this.InnerDictionary;
}
} …Run Code Online (Sandbox Code Playgroud) 我一直在玩通过创建的项目
dotnet new Angular.
Run Code Online (Sandbox Code Playgroud)
我喜欢它!
但我需要从我的项目中引用一个.net 4.6.1项目.我的第一个想法是将Angular项目改为.net 4.6.1项目,因为一个461项目显然可以引用另一个项目.所以我尝试更改.csproj文件,替换
<TargetFramework>netcoreapp2.0</TargetFramework>
Run Code Online (Sandbox Code Playgroud)
同
<TargetFramework>net461</TargetFramework>.
Run Code Online (Sandbox Code Playgroud)
但后来我得到了一堆构建错误,从以下开始:
Package Microsoft.AspNetCore.All 2.0.0 is not compatible with net461 (.NETFramework,Version=v4.6.1) / win7-x86. Package Microsoft.AspNetCore.All 2.0.0 supports: netcoreapp2.0 (.NETCoreApp,Version=v2.0) Angular C:\Code\Learning\angular\foo\AngularTest\Angular\Angular.csproj 1
Run Code Online (Sandbox Code Playgroud)
如果我删除对Microsoft.AspNetCore.All的引用,我从代码中得到错误,说明缺少Microsoft.AspNetCore.All.
我没有问题之前使用过Angular和.net 4.6.1.所以应该有办法做到这一点.但它是什么?
如果定义了宏kIndependentMacro,我想将宏kDependentMacro定义为38,否则为40.最简单的方法是什么?
我有一个mac应用程序.从逻辑上讲,它可以被认为是一个骰子游戏.我的LSApplicationCategoryType键列出的一个类别是public.app-category.dice-games.但是当我去商店查看类别列表时,我看不到骰子游戏.
因此,如果我使用public.app-category.dice-games作为密钥,那么我的应用程序在商店中会发生什么?
c# ×3
angular ×1
app-store ×1
dotnet-cli ×1
idictionary ×1
ios ×1
iphone ×1
macos ×1
macros ×1
overriding ×1
store ×1
subclassing ×1
title ×1
xamarin ×1