小编Jan*_*oek的帖子

函数中的参数类型验证 - 二进制模块与脚本模块

构建了许多PowerShell模块(包括二进制和脚本)之后,两个模型之间仍然存在一些不一致的问题,我无法理解这些模块.也许你们中的一个人可以对这个问题有所了解.

  1. 想象一个接受单个DateTime值的函数.在脚本函数中,我将其定义为[DateTime]参数; 在C#函数中,参数将是类型DateTime.到现在为止还挺好.

  2. 现在想象一下将DateTime函数传递给函数,其中添加了一个额外的note属性Add-Member.尽管被定义为a [DateTime],脚本函数参数很乐意接受这个值,因为它实际上是PSObject包装原始DateTime(并且可能包含其他成员)在使用时被解包 - 我希望我在这里使用正确的术语.正如预期的那样,传递除(包装)之外的其他东西DateTime会失败,从而使该功能或多或少类型安全.

  3. 等效的C#函数将参数定义为a DateTime,因此AFAIK无法访问其他参数.毕竟,参数提供的唯一"接口"来自DateTime类型.

  4. 或者,我可以定义的C#函数的参数类型的PSObject,但我会做我自己的类型检查了PSObjectBaseObject.

我的逻辑中有缺陷吗?或者,更重要的是,有没有办法绕过这个,所以我仍然可以将我的二进制模块的类型检查留给PowerShell?

提前谢谢了!

c# powershell type-conversion

7
推荐指数
1
解决办法
171
查看次数

如何使用AppleScript从Evernote导出笔记?

我正在尝试使用AppleScript将笔记从Evernote v.3.3.0以HTML格式导出到磁盘上的某个位置.手头的任务似乎并不特别复杂,但我对Evernote相对较新,对AppleScript来说是全新的并没有多大帮助...;)

这是我到目前为止所提出的 - 任何评论都非常感谢!

tell application "Evernote"
    set allmynotes to find notes
    set outputpath to "/Users/{myusername}/Desktop/Test"
    export allmynotes to outputpath format HTML
end tell
Run Code Online (Sandbox Code Playgroud)

根据我的理解,导出为HTML会为每个音符创建一个文件,这就是为什么我假设我需要指定输出文件夹名称而不是输出文件名.另一个假设是,双击时脚本将使用活动用户的凭据运行; 在我的机器上,此用户具有足够的权限来写入指定的文件夹.

到目前为止的结果是Evernote got an error: Unable to remove existing output file." number 1Evernote got an error: Unable to create output directory..有任何想法吗?

提前谢谢了!:)

applescript evernote

6
推荐指数
1
解决办法
3210
查看次数

标签 统计

applescript ×1

c# ×1

evernote ×1

powershell ×1

type-conversion ×1